[Bug] LSP: TypeScript language server protocol not detected despite installation

Resolved 💬 9 comments Opened Jan 9, 2026 by Sayvai Closed Feb 28, 2026

Bug Description
I am using Claude Code 2.1.2, and testing the new LSP feature to see if this works. However, despite installing typescript-lsp plugin, and also having the global system npm module npm install -g @vtsls/language-server installed also, Claude Code appears to unable to leverage LSP, and falling back to using Grep tool instead 🤔

1st Attempt at asking Claude Code to use LSP (TypeScript)

<img width="2384" height="1444" alt="Image" src="https://github.com/user-attachments/assets/8b4b8077-8c50-4dbe-9b87-054584e27c4d" />

2nd Attempt at asking Claude Code to use LSP (TypeScript)

<img width="1640" height="628" alt="Image" src="https://github.com/user-attachments/assets/ed61ac03-a12d-4bee-967d-4e61d6d6d637" />

Am i missing an additional configuration or something?

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.1.2
  • Feedback ID: 22ea0745-4042-40c1-9a3a-fea68402fad7

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.1.2 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at MKA (/$bunfs/root/claude:2960:1276)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.150Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.75 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.150Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.74 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.151Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.73 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.153Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.72 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.153Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.71 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.153Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.70 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.154Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.67 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.154Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.65 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.154Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.64 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.154Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/sayvai/.local/share/claude/versions/2.0.62 (expected in multi-process scenarios)\n    at HQR (/$bunfs/root/claude:2960:2165)\n    at eo7 (/$bunfs/root/claude:2958:35195)\n    at async jKA (/$bunfs/root/claude:2960:4525)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.154Z"},{"error":"Error: LSP server plugin:typescript-lsp:typescript failed to start: Executable not found in $PATH: \"typescript-language-server\"\n    at start (/$bunfs/root/claude:2189:22305)\n    at async $ (/$bunfs/root/claude:2189:24757)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-09T21:45:52.157Z"},{"error":"Error: Executable not fou

Note: Error logs were truncated.

View original on GitHub ↗

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