Feature request for product/service
Cursor CLI
Describe the request
Problem
When using Cursor Agent via ACP (e.g. in Zed), there’s no way to select a model. The NewSessionResponse only includes modes (agent/plan/ask) but doesn’t advertise any models:
{
"sessionId": "...",
"modes": {
"currentModeId": "agent",
"availableModes": [
{ "id": "agent", "name": "Agent", "description": "Full agent capabilities with tool access" },
{ "id": "plan", "name": "Plan", "description": "Read-only mode for planning and designing before implementation" },
{ "id": "ask", "name": "Ask", "description": "Q&A style for explanations and questions (read-only)" }
]
}
}
ACP clients like Zed render model pickers dynamically based on what the agent advertises — since Cursor doesn’t advertise models, no picker is shown and the user is stuck with whatever the default is.
The data is already there
cursor-agent models returns a full list of available models, and cursor-agent --model works in interactive mode. The ACP server just doesn’t expose this information.
Proposed solution
Include a configOptions array in the NewSessionResponse with a model category, per the ACP Session Config Options spec (https://agentclientprotocol.com/protocol/session-config-options). For example:
{
"sessionId": "...",
"configOptions": [
{
"id": "mode",
"name": "Session Mode",
"category": "mode",
"type": "select",
"currentValue": "agent",
"options": [
{ "value": "agent", "name": "Agent" },
{ "value": "plan", "name": "Plan" },
{ "value": "ask", "name": "Ask" }
]
},
{
"id": "model",
"name": "Model",
"category": "model",
"type": "select",
"currentValue": "auto",
"options": [
{ "value": "auto", "name": "Auto" },
{ "value": "opus-4.6", "name": "Claude 4.6 Opus" },
{ "value": "sonnet-4.6-thinking", "name": "Claude 4.6 Sonnet (Thinking)" },
...
]
}
]
}
This would also be a good opportunity to migrate modes into configOptions (with category: “mode”), since the ACP spec is deprecating the standalone modes field in favor of the unified configOptions approach.
Workaround
Currently the only workaround is defining multiple agent server entries in the editor config, one per model — which is obviously not great.
Operating System (if it applies)
MacOS