[Bug] typescript-lsp plugin: Server starts but textDocument/didOpen never sent

Open 💬 8 comments Opened Jan 8, 2026 by spada23

Bug Description

The typescript-lsp@claude-plugins-official plugin initializes the TypeScript Language Server successfully, but never sends textDocument/didOpen notifications when files are read via the Read tool. This results in 0 diagnostics being returned despite the LSP server running correctly.

Environment

  • Claude Code Version: 2.1.1
  • OS: macOS Darwin 25.3.0
  • typescript-language-server: 5.1.3
  • Plugin: typescript-lsp@claude-plugins-official

Evidence from Debug Logs

✅ Server Initialization (WORKS)

[DEBUG] Loaded 1 LSP server(s) from plugin: typescript-lsp
[DEBUG] LSP client started for plugin:typescript-lsp:typescript
[DEBUG] [LSP PROTOCOL] Sending request 'initialize - (0)'.
[DEBUG] [LSP PROTOCOL] Received response 'initialize - (0)' in 56ms.
[DEBUG] LSP server instance started: plugin:typescript-lsp:typescript

✅ Diagnostics Handler Registered (WORKS)

[DEBUG] Registered diagnostics handler for plugin:typescript-lsp:typescript
[DEBUG] Applied queued notification handler for textDocument/publishDiagnostics

❌ textDocument/didOpen (NEVER SENT)

After reading .ts files via Read tool:

  • Zero didOpen in logs
  • Zero diagnostics (LSP Diagnostics: Checking registry - 0 pending)

Reproduction Steps

  1. Enable typescript-lsp@claude-plugins-official
  2. Install typescript-language-server globally
  3. Start Claude Code with --debug
  4. Create test.ts with errors:

``typescript
const x: string = 123;
console.log(undefinedVar);
``

  1. Read file via Read tool
  2. Check logs - no didOpen, no diagnostics

Expected vs Actual

Expected: Read tool → didOpen → LSP analyzes → diagnostics returned
Actual: Read tool → (nothing) → LSP idle → 0 diagnostics

Related Issues

  • #13952, #16291 - Other LSP issues

View original on GitHub ↗

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