Official LSP plugins (typescript-lsp, jdtls-lsp) install without their lspServers config, so zero LSP servers load

Status Open
Reported on v2.1.238
Maintainer reply None cached
Activity 0 comments · opened Sep 10, 2026

Environment: Claude Code 2.1.238, Windows 11, plugins installed at project scope with claude plugin install typescript-lsp@claude-plugins-official (and jdtls-lsp).

What happens: claude --debug logs Total LSP servers loaded: 0 in the project. No LSP tools appear.

Why: in claude-plugins-official, the plugin directories plugins/typescript-lsp and plugins/jdtls-lsp contain only README.md and LICENSE; their lspServers live inline in the marketplace.json entry ("strict": false). The install wrote a plugin.json into ~/.claude/plugins/cache/claude-plugins-official/typescript-lsp/1.0.0/.claude-plugin/ containing name, description, version and author, but not lspServers, and no .lsp.json. At runtime only the installed manifest and .lsp.json are read, so nothing registers.

Workaround: write a .lsp.json into the installed plugin directory with the marketplace entry's lspServers value. The next start logs Loaded 1 LSP server(s) from plugin: typescript-lsp. Any plugin update wipes it.

Expected: the install should carry the marketplace entry's lspServers (and presumably mcpServers) into the installed manifest, or the runtime should read them from the marketplace entry.

View original on GitHub ↗