Preflight Checklist
What's Wrong?
LSP servers configured via plugins are not loaded because the LSP Manager initializes before plugin loading completes. Debug logs show the LSP Manager completing with 0 servers, then plugins loading 52ms later.
The LSP Manager finishes at 08:57:37.373Z with 0 servers.
Plugins start loading at 08:57:37.425Z — 52ms too late.
Affected versions: 2.0.69 (broken), 2.0.67 (works)
Related issue: This appears to be the same async race condition pattern described in #10997 (SessionStart hooks don't execute on first run).
Reference: LSP plugin support context from https://www.reddit.com/r/ClaudeAI/comments/1otdfo9/
What Should Happen?
LSP Manager should detect and load LSP servers from all enabled plugins.
Debug logs should show:
- Plugins load first
- LSP Manager initializes after plugins are ready
- LSP servers from plugins are registered (e.g., "LSP notification handlers registered successfully for all 4 server(s)")
The LSP tool should then be available with the configured language servers.
Error Messages/Logs
08:57:37.371Z [DEBUG] [LSP MANAGER] initializeLspServerManager() called
08:57:37.373Z [DEBUG] LSP notification handlers registered successfully for all 0 server(s)
...
08:57:37.425Z [DEBUG] Loading plugin phpactor-lsp from source: "./phpactor-lsp"
08:57:37.425Z [DEBUG] Loading plugin intelephense-lsp from source: "./intelephense-lsp"
08:57:37.425Z [DEBUG] Loading plugin psalm-lsp from source: "./psalm-lsp"
08:57:37.425Z [DEBUG] Loading plugin phpstan-lsp from source: "./phpstan-lsp"
Steps to Reproduce
- Install LSP plugins (e.g., from marketplace or local plugins with
.lsp.json configuration)
- Set
ENABLE_LSP_TOOL=true in environment
- Run Claude Code 2.0.69
- Check debug logs at
~/.claude/debug/latest
- Observe LSP Manager initializes with 0 servers before plugins load
Workaround: Downgrade to version 2.0.67 with claude update --version 2.0.67
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.67
Claude Code Version
2.0.69
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
Preflight Checklist
What's Wrong?
LSP servers configured via plugins are not loaded because the LSP Manager initializes before plugin loading completes. Debug logs show the LSP Manager completing with 0 servers, then plugins loading 52ms later.
The LSP Manager finishes at
08:57:37.373Zwith 0 servers.Plugins start loading at
08:57:37.425Z— 52ms too late.Affected versions: 2.0.69 (broken), 2.0.67 (works)
Related issue: This appears to be the same async race condition pattern described in #10997 (SessionStart hooks don't execute on first run).
Reference: LSP plugin support context from https://www.reddit.com/r/ClaudeAI/comments/1otdfo9/
What Should Happen?
LSP Manager should detect and load LSP servers from all enabled plugins.
Debug logs should show:
The LSP tool should then be available with the configured language servers.
Error Messages/Logs
Steps to Reproduce
.lsp.jsonconfiguration)ENABLE_LSP_TOOL=truein environment~/.claude/debug/latestWorkaround: Downgrade to version 2.0.67 with
claude update --version 2.0.67Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.67
Claude Code Version
2.0.69
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response