Skill

lsp-management

Install
1
Install the plugin
$
npx claudepluginhub melodic-software/claude-code-plugins --plugin claude-ecosystem

Want just this skill?

Add to a custom plugin, then install with one command.

Description

LSP server recommendations, .lsp.json configuration, installation guides, and troubleshooting for Language Server Protocol in Claude Code

Tool Access

This skill is limited to using the following tools:

ReadGlobGrepSkill
Supporting Assets
View in Repository
references/configuration-patterns.md
references/installation-guide.md
references/server-database.md
references/troubleshooting.md
Skill Content

LSP Management Skill

🚨 MANDATORY: Invoke docs-management First

STOP - Before providing ANY response about LSP configuration:

  1. INVOKE docs-management skill for Claude Code LSP documentation
  2. QUERY for the user's specific LSP topic
  3. BASE all responses on official documentation + this skill's knowledge base

Skipping this step results in outdated or incorrect information.

⚠️ EXPERIMENTAL: Claude Code LSP Status

LSP support in Claude Code is experimental and has known issues. Key points:

RequirementDetails
Environment VariableENABLE_LSP_TOOL=1 (singular) required to expose LSP tool
Current Versionv2.1.0+ has partial support (regression #17468)
Stable Versionv2.0.67 is last known stable LSP version
Configuration.lsp.json at project root or lspServers in plugin.json

See troubleshooting.md for version-specific issues and workarounds.

Overview

Central authority for Language Server Protocol (LSP) configuration in Claude Code. This skill provides:

  • LSP server recommendations by language/technology
  • Configuration patterns for .lsp.json files
  • Installation guides for each recommended server
  • Troubleshooting for common LSP issues

Architecture: Keyword registry + curated knowledge base. Delegates to docs-management for official Claude Code LSP documentation.

When to Use This Skill

Keywords: LSP, language server, language-server-protocol, code intelligence, hover, go-to-definition, find-references, diagnostics, pyright, typescript-language-server, gopls, rust-analyzer, csharp-ls, .lsp.json, LSP configuration, LSP setup, LSP troubleshooting

Use this skill when:

  • Setting up LSP servers for a project
  • Choosing between LSP server options for a language
  • Configuring .lsp.json files
  • Troubleshooting LSP issues (hover not working, diagnostics missing, etc.)
  • Understanding LSP server installation requirements
  • Auto-detecting needed LSPs based on project file types

Keyword Registry for docs-management Queries

Use these keywords when querying docs-management skill for official documentation:

Core Concepts

TopicKeywords
LSP Overview"LSP", "language server protocol", "code intelligence"
Configuration File".lsp.json", "LSP configuration", "language server config"
Features"hover", "go-to-definition", "find-references", "diagnostics", "document symbols"

Server-Specific

TopicKeywords
Python"pyright", "pylsp", "python language server"
TypeScript/JavaScript"typescript-language-server", "vtsls", "tsserver"
Go"gopls", "go language server"
Rust"rust-analyzer", "rust language server"
C#"csharp-ls", "OmniSharp", "C# language server"
C/C++"clangd", "ccls", "C++ language server"

Troubleshooting

TopicKeywords
Server Issues"LSP not working", "language server crash", "LSP restart"
Feature Issues"hover not working", "diagnostics missing", "go-to-definition failing"
Configuration Issues"LSP config invalid", ".lsp.json error", "extension mapping"

Quick Decision Tree

What do you need?

  1. Set up LSP for a new project → See server-database.md for recommended servers
  2. Configure .lsp.json → See configuration-patterns.md for patterns
  3. Install a specific LSP server → See installation-guide.md for per-server commands
  4. Fix LSP issues → See troubleshooting.md for common problems
  5. Understand Claude Code LSP support → Query docs-management: "LSP configuration Claude Code"

LSP Server Recommendations (Quick Reference)

LanguageRecommended ServerWhy
PythonPyrightFast, accurate type checking, broad ecosystem support
TypeScript/JavaScripttypescript-language-serverOfficial TypeScript support, widely used
GogoplsOfficial Go team server, comprehensive
Rustrust-analyzerDe facto standard, excellent performance
C#csharp-lsLightweight, cross-platform, dotnet tool
C/C++clangdLLVM-backed, fast, accurate
JavaEclipse JDTLSFull-featured, widely supported
RubysolargraphType inference, documentation support
PHPintelephensePremium features, fast
Lualua-language-serverOfficial, well-maintained
YAMLyaml-language-serverSchema validation, completion
JSONvscode-json-languageserverSchema validation, formatting

For detailed recommendations with alternatives and trade-offs, see server-database.md.

.lsp.json Configuration Format

Claude Code reads LSP configuration from .lsp.json in the project root.

Basic Structure:

{
  "server-name": {
    "command": "server-executable",
    "args": ["--stdio"],
    "extensionToLanguage": {
      ".ext": "language-id"
    },
    "restartOnCrash": true,
    "maxRestarts": 3
  }
}

Required Fields:

FieldTypeDescription
commandstringExecutable command for the server
argsstring[]Command-line arguments (typically ["--stdio"])
extensionToLanguageobjectMaps file extensions to language IDs

Optional Fields:

FieldTypeDefaultDescription
restartOnCrashbooleantrueAuto-restart server on crash
maxRestartsnumber3Maximum restart attempts

For complete patterns and examples, see configuration-patterns.md.

Auto-Detection Strategy

When auto-detecting needed LSPs for a project:

  1. Scan for file extensions using Glob patterns
  2. Match extensions to languages using the mapping table below
  3. Recommend servers from server-database.md

Extension to Language Mapping

ExtensionsLanguageRecommended Server
.py, .pyiPythonpyright
.ts, .tsx, .js, .jsxTypeScript/JavaScripttypescript-language-server
.goGogopls
.rsRustrust-analyzer
.cs, .csxC#csharp-ls
.c, .h, .cpp, .hpp, .ccC/C++clangd
.javaJavajdtls
.rbRubysolargraph
.phpPHPintelephense
.luaLualua-language-server
.yaml, .ymlYAMLyaml-language-server
.jsonJSONvscode-json-languageserver

Integration with Existing Infrastructure

Relationship to audit-lsp

The audit-lsp command validates existing .lsp.json configurations. This skill provides:

  • Server recommendations that audit-lsp can validate against
  • Configuration patterns that audit-lsp checks for compliance
  • Troubleshooting guidance when audit-lsp finds issues

Relationship to setup-lsp

The setup-lsp command creates/updates .lsp.json configurations. This skill provides:

  • Server database for recommendations
  • Installation guides for chosen servers
  • Configuration templates for generation

Test Scenarios

These scenarios should activate this skill:

  1. Direct activation: "Use the lsp-management skill to recommend a Python LSP"
  2. Setup question: "How do I set up LSP for my TypeScript project?"
  3. Configuration question: "What should my .lsp.json look like for Go?"
  4. Troubleshooting: "My hover tooltips aren't working in Python files"
  5. Comparison: "Should I use pyright or pylsp for Python?"

Related Skills

SkillRelationship
docs-managementDelegates to for official Claude Code LSP documentation
plugin-developmentPlugins can provide LSP configurations via lspServers field

References

Detailed guides (load on-demand):

Official Documentation (via docs-management):

  • Query: "LSP configuration Claude Code"
  • Query: ".lsp.json format"

Version History

  • v1.0.0 (2026-01-11): Initial release
    • LSP server recommendations for 12+ languages
    • Configuration pattern documentation
    • Installation guides per server
    • Troubleshooting guide
    • Integration with audit-lsp and setup-lsp

Last Updated

Date: 2026-01-11 Model: claude-opus-4-5-20251101

Stats
Stars40
Forks6
Last CommitJan 11, 2026
Actions

Similar Skills