typescript-lsp plugin LSP server never loads

Resolved 💬 3 comments Opened Mar 25, 2026 by lakshmithota92 Closed Mar 29, 2026

Summary

The typescript-lsp@claude-plugins-official plugin ships completely non-functional. It has no LSP configuration, and even when manually added, the LSP server count remains 0 with no error reported.

Details

  • Plugin installs to ~/.claude/plugins/cache/claude-plugins-official/typescript-lsp/1.0.0/ with only a bare plugin.json manifest — no lspServers field, no .lsp.json file.
  • /reload-plugins always shows 0 plugin LSP servers regardless of what config is added.
  • Debugging steps taken (by reverse-engineering the ta_() / FQ7() / QQ7() loading chain from the Claude binary):
  • Manually created .lsp.json at the plugin root (the path ta_() reads via path.join(_.path, ".lsp.json")) → 0 servers, no error
  • Added "lspServers": "./.lsp.json" to plugin.json manifest (valid per T54 partial schema, lw_ validator requires startsWith("./") and endsWith(".json")) → 0 servers, no error
  • Added inline "lspServers": { "typescript": { ... } } object to manifest → 0 servers, no error
  • Validated content against the actual Zod schema (C.record(C.string(), iw_()).safeParse()) in Node.js → passes
  • typescript-language-server binary is installed at /opt/homebrew/bin/typescript-language-server

The silent failure (no error, no count) suggests either:

  1. The plugin was published without its LSP config and there's a gap in the ta_() loading path (ENOENT is silently swallowed), OR
  2. The LSP loader (FQ7) is never invoked for this plugin due to a scope/enabled check that doesn't surface an error

Acceptance Criteria

  • [ ] typescript-lsp plugin ships with a valid lspServers configuration
  • [ ] /reload-plugins reports 1 plugin LSP servers after installing the plugin with typescript-language-server installed
  • [ ] LSP loading failures surface a visible error rather than silently returning 0

Claude Code version: checked 2026-03-25
OS: macOS Darwin 25.3.0

---
🤖 Created with Claude Code

View original on GitHub ↗

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