Feature request for product/service
Cursor SDK
Describe the request
When driving Cursor through the Agent Client Protocol (cursor-agent acp), ACP clients need a documented and reliable way to select non-fast / standard model variants such as Composer 2.5 standard or Grok 4.5 standard/high non-fast.
Cursor models already expose the concept of speed / quality tiers in the product, and Composer/Grok routing by model family appears to work through the launch --model flag. However, the fast vs non-fast tier does not currently appear to be selectable or attestable in a durable way for ACP/stdio sessions.
Observed behavior on cursor-agent, for example 2026.06.04:
- Launching ACP with
--model composer-2.5[fast=false]still results in session storage showingproviderOptions.cursor.modelName = composer-2.5-fast. - Launching ACP with
--model grok-4.5[effort=high,fast=false]still results in session storage showing a fast runtime slug such ascursor-grok-4.5-high-fast. - Bare non-fast CLI slugs such as
composer-2.5orcursor-grok-4.5-highlikewise resolve to*-fastat runtime. - In-session
session/set_config_option/session/set_modelcan acknowledge the requested id or update metadata, including compound ids such ascomposer-2.5[fast=false]orgrok-4.5[effort=high,fast=false], but they do not provide reliable attestation that the actual runtime model changed. - For Composer/Grok, ACP
configOptionsoften advertise only fast/default compound ids, while launch accepts non-fast bracket or CLI forms but runtime still coerces to fast.
Ground truth from Cursor ACP session storage shows providerOptions.cursor.modelName as a *-fast slug even when launch --model requested fast=false or a bare non-fast CLI id.
So today:
- Family routing, such as Composer vs Grok, works via launch
--model. - Speed / quality tier routing, such as fast vs non-fast, does not appear to be durable for ACP/stdio sessions.
- ACP clients cannot honestly confirm a non-fast selection from protocol responses alone.
Feature request:
Please make non-fast model selection selectable and durable for ACP/stdio sessions.
Concretely:
- Honor
fast=falseand equivalent non-fast bracket / CLI forms so the actual runtimeproviderOptions.cursor.modelNameis a non-fast slug when that variant is available for the account. - Document the canonical non-fast ids or parameter format that ACP/stdio clients should use, including how launch
--model, ACP advertised values, and runtimemodelNamerelate to each other. - Expose a stable post-selection attestation, or keep launch
--model, advertised config, and runtimemodelNameconsistent enough that ACP clients can tell whether non-fast actually applied.
If Cursor’s intended path is a parameterized ACP model picker or an ACP client capability such as _meta.parameterizedModelPicker, please document it as a stable public contract, including:
- The exact client capability flag and semantics.
- The expected
configOptionsshape for parameterized models. - Whether launch-time
--model <id>is supposed to be honored before and aftersession/new. - How clients should verify the effective runtime model after selection.
Use case:
Orchestration MCP servers, editor integrations, and automation tools such as Rutherford need reproducible Composer/Grok quality tiers, not only the fast path, when spawning cursor-agent acp --model <id>.
Version: 3.11.18 (system setup)
VS Code Extension API: 1.125.0
Commit: a1d1c20f31cb834d7d50581e6da017d2b822e380
Date: 2026-07-11T21:40:27.094Z
Layout: IDE
Build Type: Stable
Release Track: Nightly
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Windows_NT x64 10.0.22631
Operating System (if it applies)
Windows 10/11