LSP navigation tools (goToDefinition, findReferences) disabled by tengu_tst_kx7 experiment

Resolved 💬 4 comments Opened Feb 7, 2026 by thisavoropaev Closed Mar 7, 2026

Bug

typescript-lsp plugin is installed, language server starts and works correctly (diagnostics fire after edits), but navigation tools (goToDefinition, findReferences, hover) are never made available to the model.

Root cause

Debug log shows repeated:

Tool search disabled via experiment (tengu_tst_kx7): below threshold, deferred tools present [source: query]

LSP navigation tools are registered as deferred tools and require tool search to be loaded on demand. The tengu_tst_kx7 A/B experiment disables tool search entirely, so these tools are never surfaced.

Steps to reproduce

  1. Install typescript-lsp plugin (/plugin install typescript-lsp@claude-plugins-official)
  2. Ensure typescript-language-server binary is in PATH
  3. Open a TypeScript project
  4. LSP server initializes successfully (visible in debug log)
  5. Diagnostics work (type errors reported after edits)
  6. But goToDefinition / findReferences / hover tools are not available

Expected behavior

LSP navigation tools should be available regardless of A/B test participation. Users who installed the plugin expect full functionality as described on https://claude.com/plugins/typescript-lsp.

Actual behavior

Only passive diagnostics work. Navigation tools are silently suppressed by tengu_tst_kx7 experiment with no user notification or opt-out mechanism.

Environment

  • Claude Code: 2.1.34
  • typescript-language-server: 5.1.3
  • TypeScript: 5.9.3
  • OS: macOS (Darwin 25.1.0)

Debug log evidence

[LSP PROTOCOL plugin:typescript-lsp:typescript] Received response 'initialize - (0)' in 191ms.
LSP server plugin:typescript-lsp:typescript initialized
LSP server instance started: plugin:typescript-lsp:typescript
...
Tool search disabled via experiment (tengu_tst_kx7): below threshold, deferred tools present

🤖 Generated with Claude Code

View original on GitHub ↗

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