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
Describe the bug
I have this setting in
crush.json, to usetylsp 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.