Skip to content

Roslyn Language Server not working with Claude Code #454

@Abdragiz

Description

@Abdragiz

The plugins/dotnet/lsp.json doesn't get picked up by Claude Code — the LSP tool reports "No LSP server available for file type: .cs".

The current lsp.json format probably targets Copilot CLI or another coding agent. Claude Code expects a different structure:

  • file name should be .lsp.json, not lsp.json
  • extensionToLanguage instead of fileExtensions
  • server definitions directly in the root object, without the lspServers wrapper
  • possibly other differences

Suggested fix: This probably can be fixed without touching plugins/dotnet/lsp.json. Instead, define lspServers inline in .claude-plugin/marketplace.json, similar to how claude-plugins-official does it for csharp-lsp and other LSP plugins.

For example, add lspServers to the existing dotnet entry:

{
  "name": "dotnet",
  "source": "./plugins/dotnet",
  "description": "Collection of core .NET skills for handling common .NET coding tasks.",
  "lspServers": {
    "csharp": {
      "command": "dotnet",
      "args": [
        "dnx",
        "roslyn-language-server",
        "--yes",
        "--prerelease",
        "--",
        "--stdio",
        "--autoLoadProjects"
      ],
      "extensionToLanguage": {
        ".cs": "csharp"
      }
    }
  }
}

Even better, extract the Roslyn LSP into a separate plugin entry (like roslyn-language-server) so users can install it independently from the dotnet skills.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions