[Bug] LSP Server Manager initializes before plugins load, causing race condition
Resolved 💬 3 comments Opened Dec 21, 2025 by romeromarcelo Closed Dec 24, 2025
Bug Description
BUG: LSP plugins not loading - initialization race condition
LSP Server Manager initializes BEFORE plugins load, so .lsp.json configs are never registered.
Debug log evidence:
02:35:23.724Z - LSP handlers registered for 0 server(s) ← Done
02:35:24.030Z - Plugin pyright@claude-code-lsps loaded ← 300ms too late
Config is correct:
- ENABLE_LSP_TOOL: "1"
- enabledPlugins: pyright@claude-code-lsps: true (etc.)
- ~/.claude/plugins/cache/.../pyright/0.1.0/.lsp.json exists and is valid
- pyright-langserver binary works
Result: "No LSP server available for file type: .py" for ALL file types
Fix: LSP manager should wait for plugins to load before registering servers.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.0.75
- Feedback ID: 8ed4b2d9-b981-4441-8b17-46e94977c84a
Errors
[{"error":"Error: Tool mcp__ide__getDiagnostics not found\n at Ui2 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:2613:6696)\n at h5 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:20693)\n at IY (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:39057)\n at ss (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:49664)\n at MJ (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:85801)\n at Xf (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:84781)\n at u_ (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:84606)\n at cS (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:81054)\n at m0 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:6240)\n at Immediate.ip1 [as _onImmediate] (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:245:3491)","timestamp":"2025-12-21T02:35:27.711Z"},{"error":"Error: Tool mcp__ide__getDiagnostics not found\n at Ui2 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:2613:6696)\n at h5 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:20693)\n at IY (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:39057)\n at ss (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:49664)\n at MJ (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:85801)\n at Xf (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:84781)\n at u_ (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:84606)\n at cS (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:81054)\n at m0 (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:252:6240)\n at Immediate.ip1 [as _onImmediate] (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:245:3491)","timestamp":"2025-12-21T02:35:27.713Z"},{"error":"Error: EISDIR: illegal operation on a directory, read\n at Module.readFileSync (node:fs:440:20)\n at file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:9:429\n at oI (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:8:8084)\n at Object.readFileSync (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:9:404)\n at $dB (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:4743:22342)\n at Object.call (file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:909:942)\n at file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:3520:1468\n at runNextTicks (node:internal/process/task_queues:65:5)\n at process.processImmediate (node:internal/timers:473:9)","timestamp":"2025-12-21T02:36:06.436Z"},{"error":"Error: EISDIR: illegal operation on a directory, read\n at Module.readFileSync (node:fs:440:20)\n at file:///Users/marceloromero/.nvm/versions/node/v24.7.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:9:429\n at oI (file:///Users/marceloromero/.nvm/versions/no
Note: Error logs were truncated.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗