in https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didOpen " Note that a server’s ability to fulfill requests is independent of whether a text document is open or closed. " But in the code, documentSymbol for example doesn't work for unopened files . JDT ls (Java language server) and pyright (Python's) do work without having to open the files prior to sending documentSymbol,