LSP workspaceSymbol: missing query parameter documentation

Resolved 💬 3 comments Opened Mar 23, 2026 by valvo Closed Mar 27, 2026

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:

  1. The symbol at the given line/character position is used as the search term
  2. A separate query string is needed (but missing from the schema)
  3. 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 query parameter to the workspaceSymbol operation schema
  • Or document in the operation description that the text at line/character is 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)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗