LSP workspaceSymbol: missing query parameter documentation
Description
The LSP tool's workspaceSymbol operation description says "Search for symbols across the entire workspace" but doesn't explain how the search query is derived.
The tool schema only has operation, filePath, line, character as parameters — there is no explicit query parameter. It's unclear whether:
- The symbol at the given
line/characterposition is used as the search term - A separate query string is needed (but missing from the schema)
- It should list all symbols when no specific position is given
Reproduction
Calling workspaceSymbol on line 1, character 1 (where package keyword is) always returns:
"No symbols found in workspace. This may occur if the workspace is empty, or if the LSP server has not finished indexing the project."
This misleading message suggests indexing hasn't completed, when in reality the workspace is fully indexed — goToDefinition, findReferences, and hover all work correctly on the same project.
Impact
This caused Claude to repeatedly assume jdtls hadn't finished indexing, when the real issue was that workspaceSymbol needs a meaningful symbol name at the cursor position (or an explicit query parameter).
Suggested fix
Either:
- Add a
queryparameter to theworkspaceSymboloperation schema - Or document in the operation description that the text at
line/characteris used as the search query, and that an empty/keyword position will return no results - Improve the "No symbols found" message to distinguish between "no index" and "no matching symbols"
Environment
- Claude Code CLI
- jdtls-lsp plugin v1.0.0 (from claude-plugins-official marketplace)
- jdtls 1.57.0 via Homebrew
- macOS (darwin, aarch64)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗