LSP servers from plugins not registered - timing bug in initialization
Resolved 💬 7 comments Opened Dec 23, 2025 by oleksiitrotchenko Closed Mar 11, 2026
Description
LSP servers defined in plugins (via lspServers in marketplace.json) are not being registered because the LSP server manager initializes before plugins finish loading.
Steps to Reproduce
- Install the official
typescript-lspplugin fromclaude-plugins-officialmarketplace - Enable the plugin in settings (
"typescript-lsp@claude-plugins-official": true) - Ensure
typescript-language-serveris installed globally (npm install -g typescript-language-server typescript) - Start a new Claude Code session
- Try to use the LSP tool on a TypeScript file
Expected Behavior
The LSP tool should work with TypeScript files, using the typescript-language-server configured in the plugin.
Actual Behavior
No LSP server available for file type: .ts
Debug Log Evidence
From ~/.claude/debug/latest:
2025-12-23T23:29:23.045Z [DEBUG] [LSP MANAGER] initializeLspServerManager() called
2025-12-23T23:29:23.048Z [DEBUG] LSP server manager initialized successfully
2025-12-23T23:29:23.048Z [DEBUG] LSP notification handlers registered successfully for all 0 server(s)
2025-12-23T23:29:23.051Z [DEBUG] Loading plugin typescript-lsp from source: "./plugins/typescript-lsp"
Notice the timing: LSP manager registers 0 servers at 23:29:23.048, then the plugin starts loading at 23:29:23.051.
Environment
- Claude Code version: 2.0.74+
- OS: macOS Darwin 24.6.0
- typescript-language-server version: 5.1.3
- Plugin: typescript-lsp@claude-plugins-official v1.0.0
Plugin Configuration (from marketplace.json)
{
"name": "typescript-lsp",
"lspServers": {
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"],
"extensionToLanguage": {
".ts": "typescript",
".tsx": "typescriptreact",
".js": "javascript",
".jsx": "javascriptreact"
}
}
}
}
Suggested Fix
The LSP server manager initialization should wait for plugins to finish loading before registering LSP servers, or there should be a mechanism to register LSP servers after plugins load.
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗