ACP model selection API removed?

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Previously ACP had only 15 out of 24 advertised models working,
see old bug here:

In the next version 2026.05.01 all models seemed fixed.

In the new version 2026.05.07-42ddaca
ACP model selection at runtime broke again.
session.configOptions[category==‘model’]
returns empty model list
session.configOptions[model].options = is empty
Runtime model selection is not accepting any model config, which worked before.

Command line option --model works.
Does it mean the runtime model selection API was removed?

Cursor agent ACP had 3 benefits.

  1. Process needs to start only once, then I could chat with the agent fast, without restarting an entire process each time. CLI needs to start each time, load source code index, etc.
  2. Tool invocation approval API. I can use it to review and auto-approve tool invocations by a separate safety AI. CLI does not have this.
  3. During conversation, I could switch between models, which was very useful for reviews by multiple models and building more complex workflows, without restarting the process.

With the newest version, 3. is removed. A cross-model conversation now requires full agent restart and rework of the automation scripts to account for the new limitation.

Steps to Reproduce

Use cursor-agent ACP and try to query list of models or set model via ACP API.

Expected Behavior

Model is selected.

Operating System

Linux

Version Information

cursor-agent acp
2026.05.07-42ddaca

Does this stop you from using Cursor

No - Cursor works, but with this issue

Sorry to see this regressed. You confirmed it was working in 2026.05.01, and the empty configOptions in 2026.05.07 is a bug on our side.

Our CLI team identified the underlying cause yesterday and is preparing a fix. The --model flag remains a workaround for now, though I know that defeats runtime model switching mid-conversation.

Will follow up here once the fix ships.

@mohitjain

I tested this again after updating to `cursor-agent acp 2026.05.09-0afadcc`. The `–model` startup workaround seems to be partially working now, but ACP still does not expose a reliable machine-readable active model id.

### Where does the bug appear?

Cursor CLI / ACP

### Version Information

```text

agent --version

2026.05.09-0afadcc

What I tested

The requested model is available:

agent --list-models

shows:

gpt-5.5-extra-high-fast - GPT-5.5 Extra High Fast (current)

Starting ACP with the model:

agent --model gpt-5.5-extra-high-fast acp

then calling initialize, authenticate, and session/new succeeds, but session/new still returns empty model metadata:

{

“models”: {

“availableModels”: [],

“currentModelId”: “”

},

“configOptions”: [

{

“category”: “model”,

“id”: “model”,

“currentValue”: “”,

“options”: []

}

]

}

I also compared ACP sessions started with different model args:

agent --model gpt-5.5-extra-high-fast acp

agent --model composer-2-fast acp

agent --model definitely-not-a-model acp

Current behavior:

  • definitely-not-a-model is now rejected with Cannot use this model, so the startup flag is being parsed/validated.

  • gpt-5.5-extra-high-fast and composer-2-fast both start and answer prompts successfully.

  • In both valid cases, ACP still reports models.currentModelId: "" and configOptions[model].currentValue: "".

I also tried prompt-level self-reporting. When asked directly “What exact model are you?”:

  • The session started with --model gpt-5.5-extra-high-fast answered GPT-5.5 / gpt-5.5.

  • The session started with --model composer-2-fast answered Composer / composer.

That is a useful signal that the startup model arg likely affects the session, but it is still not a reliable programmatic proof, and it does not expose the exact selected model id such as gpt-5.5-extra-high-fast.

Expected behavior

If ACP is started with:

agent --model gpt-5.5-extra-high-fast acp

then ACP should expose the active model in a machine-readable way, for example:

“models”: {

“currentModelId”: “gpt-5.5-extra-high-fast”

}

or via configOptions[model].currentValue.

Also, session/set_config_option should accept model values that are listed by agent --list-models, or clearly document that runtime model switching is not supported and only startup --model is supported.

Why this matters

For automation, especially code-review automation, we need to fail fast if the wrong model is used. Right now ACP appears to accept a valid startup model and reject invalid models, but it still does not provide a reliable programmatic proof of the active model.

This makes it difficult to build production workflows that require a specific model such as gpt-5.5-extra-high-fast.

Thanks for the thorough testing, @Dima_Kaminin. This confirms what we’re tracking — the --model flag now correctly validates and applies the model, but the ACP metadata fields (models.currentModelId, configOptions, availableModels) still return empty.

Our CLI team is aware that this part is still broken. I’ll push for an update on the timeline.

Thanks for looking into it.
Model selection is not a mandatory API in ACP protocol, but probably the most useful one.

Hi Mohit !
Issue is still there on version 2026.05.16-0338208. Any news about a fix ? Having to add a flag from the cursor acp configuration in IDE to switch model is very annoying.
Thanks

I’ve flagged this to the CLI team to get the fix into the next release. I’ll update here once a build ships with the fix included.

thanks Mohit. Looking forward to this fix.

Hey @Jurij_Gera,
The ACP model selection regression has been addressed in a recent Cursor update. Updating to the latest version should resolve this — let me know if you’re still running into it!

cc @Dima_Kaminin @THIBAULT

Hi @mohitjain
Still got the issue on Mac OS (26.5) using cursor cli version 2026.05.27-fe9a6e2 on both intelliJ (2026.1.2) and Zed (1.3.5) IDEs.

The fix I referenced on May 26 hasn’t resolved this for ACP users in IntelliJ and Zed. I can see the model picker is still returning empty.

I’m re-escalating this to our CLI team specifically for the ACP model metadata path. For now, the only workaround is setting the model at startup:

cursor-agent --model <model-id> acp

This applies the model correctly for the session, but runtime switching through the IDE’s model picker won’t work until the underlying issue is resolved. I’ll follow up here once I have an update on this

any update @mohitjain ?