Opus 4.6 fast mode not accessible via ACP

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

When running the CLI in ACP mode, Opus 4.6 fast mode isn’t listed.

Steps to Reproduce

  • Run agent models , you’ll see that Opus 4.6 fast mode is present
  • Run agent acp and you’ll see that Opus 4.6 fast mode is NOT present

Since the ACP thing is a bit tricky to test, I created a repro script here: GitHub - rohitpaulk/cursor-acp-models-repro · GitHub.

Expected Behavior

Expected that Opus 4.6 fast mode is present in ACP mode too.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

About Cursor CLI

CLI Version 2026.04.17-787b533
Model Opus 4.6 1M Thinking Fast
Subscription Tier Team
OS darwin (arm64)
Terminal zed
Shell zsh

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

I confirm.

Right now it is not possible to select newer Clause/Opus or GPT models in ACP.
Some important model effort configurations are missing.
Max mode / 1M token configs are missing entirely.

I did basic test asking each model what model it is.

Response "Check your settings to continue" insicates that something is wrong with the model config. Perhaps on the backend side. May be there is some hidden config in user/team/admin settings which was forgotten to turn on.

Right now only 15 out of 27 models, mostly old ones, are working.

Another fun fact:
If I start cursor-agent CLI and specify model:
cursor-agent --model gpt-5.5-extra-high “What model are you?”
And then after this run ACP without specifying model, the ACP will show its previously selected model which is actually stale, in the reality the prompts will be answered by real model previously selected by cursor-agent --model, so in this case GPT 5.5

So all models and all settings, even the 1M token ones, work just fine in ACP mode, its just the ACP model selection which is broken.

My test results:
[22:44:28.609] ==== scan results ====
[22:44:28.609] claude-haiku-4-5[thinking=true] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-opus-4-5[thinking=true] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-opus-4-6[thinking=true,context=200k,effort=high,fast=false] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-opus-4-7[thinking=true,context=200k,effort=xhigh] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-sonnet-4-5[thinking=true,context=200k] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-sonnet-4-6[thinking=true,context=200k,effort=medium] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] claude-sonnet-4[thinking=false,context=200k] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] composer-1.5→ stopReason=‘end_turn’; response=‘I amComposer, a language model from Cursor, trained by Cursor. I don’t have a more specific public model name or build ID in this environment beyond that.’
[22:44:28.610] composer-2[fast=true] → stopReason=‘end_turn’; response=‘I’m Composer, Cursor’s coding assistant. The conversation context I get does not include a concrete backend model slug or version ID (e.g. a specific GPT/Claude build name), so I can’t give an exact model ID beyond that.’
[22:44:28.610] default→ stopReason=‘end_turn’; response=‘I don’t get a concrete model slug or ID in my runtime context, so I can’t give you an exact string I can verify (for example gpt-4.1 vs another name). / What Idoknow from this session: I’mAuto, Cursor’s agent router—the layer that picks and coordinates models/tools for you. The underlying chat model is chosen by your Cursor settings and isn’t exposed to me as a labeled field I can quote. / To see the exact model for this chat: use Cursor’s model picker / chat settings for this conversation, or check your account/workspace AI preferences where the active model is shown.’
[22:44:28.610] gemini-2.5-flash → stopReason=‘end_turn’; response=‘I am powered by Gemini 2.5 Flash.’
[22:44:28.610] gemini-3-flash → stopReason=‘end_turn’; response=‘I am using the Gemini 1.5 Flash model.’
[22:44:28.610] gemini-3.1-pro→ stopReason=‘end_turn’; response=‘I am using theGemini 3.1 Pro model.’
[22:44:28.610] gpt-5-mini → stopReason=‘end_turn’; response=‘gpt-5-mini’
[22:44:28.610] gpt-5.1-codex-max[reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘I’m running on the gpt-5.1-codex-max model.’
[22:44:28.610] gpt-5.1-codex-mini[reasoning=medium] → stopReason=‘end_turn’; response=‘I’m using GPT-5.1 Codex Mini.’
[22:44:28.610] gpt-5.1[reasoning=medium] → stopReason=‘end_turn’; response=‘I’m running as GPT-5.1, accessed via this coding agent interface.’
[22:44:28.610] gpt-5.2-codex[reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘I don’t have access to the exact model name or ID in this environment.’
[22:44:28.610] gpt-5.2[reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘GPT-5.2
[22:44:28.610] gpt-5.3-codex-spark[reasoning=medium] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] gpt-5.3-codex[reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘Codex 5.3’
[22:44:28.610] gpt-5.4-mini[reasoning=medium] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] gpt-5.4-nano[reasoning=medium] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] gpt-5.4[context=272k,reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] gpt-5.5[context=272k,reasoning=medium,fast=false] → stopReason=‘end_turn’; response=‘Check your settings to continue’
[22:44:28.610] grok-4-20[thinking=true] → stopReason=‘end_turn’; response=‘grok-4-20/ (That’s the exact model ID from the Cursor CLI config: modelId: "grok-4-20", displayed asGrok 4.20 (Thinking) with the thinking parameter enabled.)’
[22:44:28.610] kimi-k2.5→ stopReason=‘end_turn’; response=‘I am usingKimi K2.5.’
[22:44:28.610] ==== /scan results ====

Hi Paul, Thanks for the post! This is a known ACP model-selection limitation we’ve seen with reasoning / variant selection.

Right now, ACP model selection is not exposing the full set of model parameters and variants consistently, including fast mode / Max Mode / 1M-context variants. That’s why agent models can show Opus 4.6 1M Thinking Fast while agent acp does not present it as an available option.

We’re tracking this internally. The desired behavior is that ACP clients can either surface these variants directly or expose the underlying model parameters clearly, rather than collapsing them down to a smaller/default set.

For now, if you need precise control over Opus 4.6 fast / 1M settings, the Cursor editor or regular CLI model selection is the more reliable path.

Check out this thread for more info: IntelliJ Cursor ACP Reasoning Levels - #4 by kevinn

Hi Kevin, thanks.
Limitation of the CLI is that it does not expose an API which can be used to do safety reviews and approvals of the tool invocations. Unchecked auto-approvals are risky and whitelists are limited, often both are locked entirely. ACP has been the best option as it allows verification of the tool invocations, i.e. one can use another LLM for verification to contain the risks.

Overall ACP is a more functional interface to controlling agents, but the model selection issue limits it use.

In the new cursor-agent version 2026.05.01 model selection works for all 28 preset models. Thanks for resolving the issue.

The only remaining limitation: none of the model presets provide 1M context

Hi @Jurij_Gera, yes that appears to still be a relevant limitation.

If you’re able to use the CLI, that would be a good workaround. You use the tab button to edit the model config as shown below, and you can use 1M context there. But ACP via things like IntelliJ don’t yet support editing the context.