LSP workspaceSymbol operation needs a query parameter

Resolved 💬 3 comments Opened Mar 27, 2026 by elesahich Closed Mar 30, 2026

Summary

The LSP tool's workspaceSymbol operation currently has no way to pass a search query. The workspace/symbol LSP method requires a query string parameter, but the tool schema only exposes operation, filePath, line, and character — resulting in an empty string "" being sent as the query every time.

Current behavior

When invoking workspaceSymbol, sourcekit-lsp receives an empty query and returns an empty array:

workspace/symbol
"query" : ""
→ []

Confirmed via OS Log:

Received request: workspace/symbol { "query" : "<private e3b0c44298fc1c14>" }
Succeeded (took 0.29ms) → []

(e3b0c44298fc1c14 is the SHA-256 prefix of an empty string)

Expected behavior

The LSP tool schema should include an optional query parameter (used only for workspaceSymbol), so users can search for symbols across the workspace:

operation: "workspaceSymbol"
query: "TeamChatList"
→ returns matching symbols (classes, protocols, functions, etc.)

Context

All other 8 LSP operations work correctly with the current filePath/line/character parameters:

| Operation | Status |
|---|---|
| documentSymbol | ✅ |
| goToDefinition | ✅ |
| goToImplementation | ✅ |
| hover | ✅ |
| findReferences | ✅ |
| prepareCallHierarchy | ✅ |
| incomingCalls | ✅ |
| outgoingCalls | ✅ |
| workspaceSymbol | ❌ (empty query) |

Environment

  • Claude Code CLI
  • sourcekit-lsp (Xcode 26.2, build 17C52)
  • macOS with xcode-build-server BSP integration

View original on GitHub ↗

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