We've released Piebald, the ultimate agentic AI developer experience.
Download it and try it out for free! https://piebald.ai/
This repository contains a Claude Code marketplace with plugins that offer LSP servers for TypeScript, Rust, Python, Go, Java, Kotlin, C/C++, PHP, Ruby, C#, PowerShell, HTML/CSS, LaTeX, Julia, Vue, OCaml, and BSL (1C:Enterprise). LSP servers provide powerful and familiar code intelligence features to IDEs, and now Claude Code directly.
Claude Code officially supports LSP. In 2.0.74 they officially added it to the changelog. Previously, the new LSP builtin tool had to be enabled manaually via $ENABLE_LSP_TOOL=1.
Claude can the LSP tool to
- Go to the definition for symbols (
goToDefinition) - Go to the implementation for symbols (
goToImplementation) - Hover over symbols (
hover) - List all the symbols in a file (
documentSymbol) - Find all references to a symbol (
findReferences) - Search for symbols across the workspace (
workspaceSymbol) - Get the call hierarchy for a given function (
prepareCallHierarchy) - Find all functions that call a given function (
incomingCalls) - Find all functions/methods called by a given function (
outgoingCalls)
Warning
Support for LSP in Claude Code is pretty raw still. There are bugs in the different LSP operations, no documention, and no UI indication that your LSP servers are started/running/have errors or even exist. But it's there, and with tweakcc you can make it work.
Run npx tweakcc --apply. tweakcc automatically detects your Claude Code installation (npm or native) and applies the necessary patches. It will automatically patch your Claude Code installation to make CC's builtin LSP support usable. (It also does a bunch of other things like let you customize all the system prompt parts, create new CC themes, change the thinking verbs, and a lot more.)
Install them the usual way. First make CC aware of the marketplace:
- Run
claude /plugin marketplace add Piebald-AI/claude-code-lsps
Then enable the plugins of your choice:
- Run
claude - Type
/plugins - Tab to
Marketplaces - Enter the
claude-code-lspsmarketplace and chooseBrowse plugins - Select the plugins you'd like with the spacebar (e.g. TypeScript, Rust)
- Press "i" to install them
- Restart Claude Code
You need to install various components in order for the plugins to use them:
Rust (rust-analyzer)
Uses rust-analyzer, the official modern Rust Language Server and the same one used by the official VS Code extension. If you have rustup, installing rust-analyzer is easy:
rustup component add rust-analyzer
The rust-analyzer executable needs to be in your PATH.
JavaScript/TypeScript (vtsls)
Install vtsls and typescript packages globally:
# npm npm install -g @vtsls/language-server typescript # pnpm pnpm install -g @vtsls/language-server typescript # bun bun install -g @vtsls/language-server typescript
Make sure the vtsls executable is in your PATH.
Python (pyright)
Install pyright for its speed and excellent type checking:
# npm npm install -g pyright # pnpm pnpm install -g pyright # bun bun install -g pyright
Go (gopls)
Install gopls, the official Go language server:
go install golang.org/x/tools/gopls@latest
Make sure your Go bin directory is in your PATH (usually ~/go/bin).
Java (jdtls)
Install Eclipse JDT Language Server (jdtls). Requires Java 21+ runtime:
# Download from official sources # Latest snapshot: curl -LO http://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz mkdir -p ~/jdtls tar -xzf jdt-language-server-latest.tar.gz -C ~/jdtls # Or install via package manager (varies by OS) # macOS with Homebrew: brew install jdtls
Set JAVA_HOME environment variable to Java 21+ installation.
Kotlin (kotlin-lsp)
Requires Java 17+. Install kotlin-lsp:
# macOS with Homebrew
brew install JetBrains/utils/kotlin-lspFor manual installation, download from releases and add to PATH.
Note: Currently supports JVM-only Kotlin Gradle projects.
C/C++ (clangd)
Install clangd, the official LLVM-based language server:
# macOS brew install llvm # Ubuntu/Debian sudo apt-get install clangd # Arch Linux sudo pacman -S clang # Or download from LLVM releases # https://github.com/clangd/clangd/releases
PHP (phpactor)
Install Phpactor:
# Using composer (recommended) composer global require --dev phpactor/phpactor # Or using package manager # macOS with Homebrew: brew install phpactor/tap/phpactor
Ensure ~/.composer/vendor/bin (or ~/.config/composer/vendor/bin on some systems) is in your PATH.
Ruby (ruby-lsp)
Install ruby-lsp:
gem install ruby-lsp
C# (omnisharp)
Install OmniSharp (requires .NET SDK):
# macOS with Homebrew: brew install omnisharp/omnisharp-roslyn/omnisharp-mono # Or download from releases: # https://github.com/OmniSharp/omnisharp-roslyn/releases # Extract and add to PATH, or use the install script: # Linux/macOS: curl -L https://github.com/OmniSharp/omnisharp-roslyn/releases/latest/download/omnisharp-linux-x64-net6.0.tar.gz | tar xz -C ~/.local/bin # Ensure the OmniSharp executable is in your PATH
PowerShell (powershell-editor-services)
Requires PowerShell 7+ (pwsh) installed and available in PATH.
# Windows (winget) winget install Microsoft.PowerShell # macOS brew install powershell/tap/powershell # Ubuntu/Debian # See: https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu
The PowerShellEditorServices module will be automatically installed on first use if not already present. To install it manually:
Install-Module -Name PowerShellEditorServices -Scope CurrentUser
HTML/CSS (vscode-langservers)
Install vscode-langservers-extracted for both HTML and CSS:
# npm npm install -g vscode-langservers-extracted # pnpm pnpm install -g vscode-langservers-extracted # bun bun install -g vscode-langservers-extracted
This provides vscode-html-language-server and vscode-css-language-server executables.
LaTeX (texlab)
Install texlab, a cross-platform LSP implementation for LaTeX:
# Cargo cargo install --locked texlab # macOS brew install texlab # Arch Linux pacman -S texlab # Windows scoop install texlab # or choco install texlab
The texlab executable needs to be in your PATH. Supports .tex, .bib, .cls, and .sty files.
Julia (julia-lsp)
Install LanguageServer.jl in Julia:
using Pkg Pkg.add("LanguageServer") Pkg.add("SymbolServer")
Make sure julia is in your PATH. The language server will automatically detect your Julia project environment based on Project.toml.
Note: The language server may take some time to start on first use while it precompiles. Subsequent starts will be faster, especially with Julia 1.9+.
Vue (vue-volar)
Install @vue/language-server (v2.x) globally for Vue.js Single File Component support:
# npm npm install -g @vue/language-server@2 # pnpm pnpm install -g @vue/language-server@2 # bun bun install -g @vue/language-server@2
Important: Version 2.x is required. Version 3.x removed the internal TypeScript communication layer and requires the LSP client to implement custom request forwarding (
tsserver/requestβtsserver/response) between Vue and TypeScript language servers. Claude Code's simple LSP integration does not support this mechanism. See v3 upgrade guide for details.
The vue-language-server executable needs to be in your PATH.
Important: For full functionality, TypeScript must be installed in your project:
npm install --save-dev typescript
The language server uses the project's node_modules/typescript/lib for type checking. This enables:
- Template expression type-checking
- Component prop validation
- Slot type inference
- CSS/SCSS intellisense in
<style>blocks - Go-to-definition across
<template>,<script>,<style>
Note: This plugin complements the existing
vtslsplugin for TypeScript, providing full Vue + TS coverage.
BSL / 1C:Enterprise (bsl-language-server)
Install bsl-language-server, the Language Server Protocol implementation for BSL (1C:Enterprise) and OneScript.
Download the native executable for your platform from GitHub Releases:
| Platform | Download |
|---|---|
| Windows | bsl-language-server_win.zip |
| macOS | bsl-language-server_mac.zip |
| Linux | bsl-language-server_nix.zip |
Extract the archive and add the directory containing bsl-language-server executable to your PATH:
# Linux/macOS example unzip bsl-language-server_nix.zip -d ~/bsl-language-server export PATH="$HOME/bsl-language-server/bin:$PATH" # Add to your shell profile (~/.bashrc, ~/.zshrc, etc.) to make it permanent
# Windows (PowerShell) example Expand-Archive bsl-language-server_win.zip -DestinationPath $env:USERPROFILE\bsl-language-server $env:PATH += ";$env:USERPROFILE\bsl-language-server\bin" # Add to system PATH via System Properties to make it permanent
The bsl-language-server executable needs to be in your PATH. Supports .bsl and .os files.
OCaml (ocaml-lsp)
Install ocaml-lsp-server using opam (OCaml package manager):
# Install opam first (if not already installed) # macOS brew install opam # Ubuntu/Debian apt install opam # Initialize opam (first time only) opam init eval $(opam env) # Install ocaml-lsp-server opam install ocaml-lsp-server
The plugin uses opam exec -- ocamllsp to run the language server, ensuring correct PATH resolution within your opam environment.
Supports .ml (implementation), .mli (interface), .mly (Menhir parser), and .mll (OCamllex lexer) files.
Note: Make sure you have an active opam switch with OCaml installed. The language server works best when run from a project directory with a proper
dunebuild setup.