install-lsp
Original:🇺🇸 English
Translated
Install and configure LSP (Language Server Protocol) for Claude Code to enable go-to-definition, find-references, and real-time diagnostics
4installs
Sourcejpoutrin/product-forge
Added on
NPX Install
npx skill4agent add jpoutrin/product-forge install-lspTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Install LSP for Claude Code
Enable Language Server Protocol integration to give Claude Code IDE-like code intelligence: go-to-definition, find-references, rename-symbol, and real-time diagnostics.
Why LSP?
LSP provides semantic code understanding instead of text-based grep searches:
- 50ms to find function call sites with LSP vs 45 seconds with text search
- Exact symbol locations with line/column numbers
- Cross-file navigation and refactoring support
Setup Options
Option 1: Native LSP Tool (Recommended)
Claude Code has built-in LSP support that requires activation.
Enable permanently (add to or ):
~/.zshrc~/.bashrcbash
export ENABLE_LSP_TOOL=1Install language plugins from the community marketplace:
bash
# Add the LSP plugin marketplace
/plugin marketplace add boostvolt/claude-code-lsps
# Install language-specific plugins
/plugin install pyright@claude-code-lsps # Python
/plugin install vtsls@claude-code-lsps # TypeScript/JavaScript
/plugin install gopls@claude-code-lsps # Go
/plugin install rust-analyzer@claude-code-lsps # Rust
/plugin install clangd@claude-code-lsps # C/C++
/plugin install jdtls@claude-code-lsps # Java
/plugin install omnisharp@claude-code-lsps # C#
/plugin install intelephense@claude-code-lsps # PHP
/plugin install kotlin-language-server@claude-code-lsps # Kotlin
/plugin install solargraph@claude-code-lsps # Ruby
/plugin install vscode-html-css@claude-code-lsps # HTML/CSSOption 2: cclsp MCP Server
Community MCP server with interactive setup wizard.
Automated setup:
bash
npx cclsp@latest setup # Project-level config
npx cclsp@latest setup --user # User-wide configThe wizard:
- Scans project files to detect languages
- Pre-selects appropriate LSP servers
- Shows installation instructions for each server
- Optionally auto-installs LSP binaries
- Configures MCP integration
LSP Server Requirements by Language
| Language | Binary | Installation |
|---|---|---|
| Python | pyright | |
| TypeScript/JS | vtsls | |
| Go | gopls | |
| Rust | rust-analyzer | |
| C/C++ | clangd | |
| Java | jdtls | |
| C# | omnisharp | |
| PHP | intelephense | |
| Kotlin | kotlin-language-server | |
| Ruby | solargraph | |
| HTML/CSS | vscode-langservers | |
cclsp Configuration File
Location: (project) or (global)
.claude/cclsp.json~/.config/claude/cclsp.jsonjson
{
"servers": [
{
"extensions": ["py", "pyi"],
"command": ["pyright-langserver", "--stdio"],
"rootDir": ".",
"restartInterval": 30
},
{
"extensions": ["ts", "tsx", "js", "jsx"],
"command": ["typescript-language-server", "--stdio"],
"rootDir": "."
}
]
}Available LSP Tools
After setup, Claude Code gains these capabilities:
| Tool | Description |
|---|---|
| Navigate to symbol definition |
| Find all usages of a symbol |
| Rename symbol across all files |
| Get type errors and warnings |
| Restart the language server |
Troubleshooting
"No LSP server available for file type"
bash
# Verify plugin is installed
/plugin
# Reinstall if needed
/plugin uninstall pyright@claude-code-lsps
/plugin install pyright@claude-code-lsps"Executable not found in $PATH"
bash
# Check binary exists
which pyright
which gopls
# For Go, ensure GOPATH/bin is in PATH
export PATH=$PATH:$(go env GOPATH)/binPlugin installed but inactive
bash
# Clear cache and reinstall
rm -rf ~/.claude/plugins/cache
/plugin install pyright@claude-code-lspsWindows Users
Use wrapper for cclsp:
cmd /cjson
{
"servers": [{
"extensions": ["py"],
"command": ["cmd", "/c", "pyright-langserver", "--stdio"]
}]
}Verification
After setup, test by asking Claude Code to:
- "Go to definition of "
functionName - "Find all references to "
ClassName - "Show diagnostics for this file"
A working setup provides exact file:line locations instead of grep-based text search results.
Best Practice
Combine LSP with traditional search:
- Use LSP for: go-to-definition, diagnostics, rename
- Use Grep for: find all usages, text patterns, comments
LSP provides precision; Grep provides coverage.
Execution Instructions
When the user runs this command:
-
Determine approach from arguments:
- - Use built-in LSP tool with plugins
native - - Use cclsp MCP server
cclsp - No argument - Ask user which approach they prefer
-
For native approach:
- Check if is already set
ENABLE_LSP_TOOL - Add marketplace if not present
- Install requested language plugin(s)
- Verify with command
/plugin
- Check if
-
For cclsp approach:
- Run interactively
npx cclsp@latest setup - Guide user through language server installation
- Verify MCP server is added with
/mcp
- Run
-
Inform user to restart Claude Code after installation