Skip to content

LSP arguments duplicated #932

Description

@klonuo

Describe the bug

I have this setting in crush.json, to use ty lsp server:

"lsp": {
  "python": {
    "command": "ty",
    "args": ["server"]
  }
}

However is fails and from the log it looks like the command argument is passed twice:

{
  "time": "2025-08-30T14:43:13.7255612+02:00",
  "level": "INFO",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/app.(*App).createAndStartLSPClient",
    "file": "/home/runner/work/crush/crush/internal/app/lsp.go",
    "line": 24
  },
  "msg": "Creating LSP client",
  "name": "python",
  "command": "ty",
  "fileTypes": null,
  "args": [
    "server",
    "server"
  ]
},
{
  "time": "2025-08-30T14:43:13.7305185+02:00",
  "level": "INFO",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/llm/agent.NewAgent.func1",
    "file": "/home/runner/work/crush/crush/internal/llm/agent/agent.go",
    "line": 177
  },
  "msg": "Initializing agent tools",
  "agent": "task"
},
{
  "time": "2025-08-30T14:43:13.7502063+02:00",
  "level": "INFO",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/llm/agent.NewAgent.func1",
    "file": "/home/runner/work/crush/crush/internal/llm/agent/agent.go",
    "line": 177
  },
  "msg": "Initializing agent tools",
  "agent": "coder"
},
{
  "time": "2025-08-30T14:43:13.7686134+02:00",
  "level": "ERROR",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/lsp.NewClient.func1",
    "file": "/home/runner/work/crush/crush/internal/lsp/client.go",
    "line": 120
  },
  "msg": "LSP Server",
  "err": "error: unexpected argument 'server' found"
},
{
  "time": "2025-08-30T14:43:13.7686134+02:00",
  "level": "ERROR",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/lsp.NewClient.func1",
    "file": "/home/runner/work/crush/crush/internal/lsp/client.go",
    "line": 120
  },
  "msg": "LSP Server",
  "err": ""
},
{
  "time": "2025-08-30T14:43:13.7686134+02:00",
  "level": "ERROR",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/lsp.NewClient.func1",
    "file": "/home/runner/work/crush/crush/internal/lsp/client.go",
    "line": 120
  },
  "msg": "LSP Server",
  "err": "Usage: ty server"
},
{
  "time": "2025-08-30T14:43:13.7686134+02:00",
  "level": "ERROR",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/lsp.NewClient.func1",
    "file": "/home/runner/work/crush/crush/internal/lsp/client.go",
    "line": 120
  },
  "msg": "LSP Server",
  "err": ""
},
{
  "time": "2025-08-30T14:43:13.7686134+02:00",
  "level": "ERROR",
  "source": {
    "function": "github.com/charmbracelet/crush/internal/lsp.NewClient.func1",
    "file": "/home/runner/work/crush/crush/internal/lsp/client.go",
    "line": 120
  },
  "msg": "LSP Server",
  "err": "For more information, try '--help'."
}

Setup

Please complete the following information along with version numbers, if applicable.

  • OS [Windows]
  • Shell [pwsh]
  • Terminal Emulator [Windows Terminal]
  • crush version v0.7.4

Metadata

Metadata

Assignees

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