ACP model list returns thinking=true variant even when thinking is disabled or not permitted

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

When an ACP client requests the list of available models, the server returns model variant IDs with thinking=true hardcoded for several models, even when thinking is disabled in Cursor Settings or the user’s plan/permissions do not allow thinking mode. The client has no choice but to use the model variant ID as provided, so it sends thinking=true back when selecting the model. The subsequent request fails because thinking is not permitted. There is no way for the client to override the thinking parameter.

ACP Response Example:

The following is the actual initialize response received by the client. Note that claude-opus-4-6, claude-opus-4-5, and claude-haiku-4-5 all have thinking=true hardcoded, while the Sonnet and Gemini models do not:

{
  "models": {
    "currentModelId": "default[]",
    "availableModels": [
      {"modelId": "default[]", "name": "Auto"},
      {"modelId": "claude-sonnet-4-6[thinking=false,context=200k,effort=medium]", "name": "Sonnet 4.6"},
      {"modelId": "claude-opus-4-6[thinking=true,context=200k,effort=high,fast=false]", "name": "Opus 4.6"},
      {"modelId": "claude-opus-4-5[thinking=true]", "name": "Opus 4.5"},
      {"modelId": "gemini-3.1-pro[]", "name": "Gemini 3.1 Pro"},
      {"modelId": "claude-haiku-4-5[thinking=true]", "name": "Haiku 4.5"},
      {"modelId": "claude-sonnet-4-5[thinking=false,context=200k]", "name": "Sonnet 4.5"},
      {"modelId": "gemini-3-pro[]", "name": "Gemini 3 Pro"},
      {"modelId": "gemini-3-flash[]", "name": "Gemini 3 Flash"},
      {"modelId": "claude-sonnet-4[thinking=false,context=200k]", "name": "Sonnet 4"},
      {"modelId": "gemini-2.5-flash[]", "name": "Gemini 2.5 Flash"}
    ]
  }
}

Client Request:

The client then selects Opus 4.6, using the variant ID exactly as provided by the server:

{
  "id": 4,
  "method": "session/set_model",
  "params": {
    "sessionId": "fcbee826-6ffe-492f-830e-92514e9e6e62",
    "modelId": "claude-opus-4-6[thinking=true,context=200k,effort=high,fast=false]"
  },
  "jsonrpc": "2.0"
}

The client has no option but to pass the model ID verbatim – thinking=true is baked into the only variant offered.

Error Response:

The request fails with the following error, indicating the thinking variant is blocked by admin settings:

{
  "jsonrpc": "2.0",
  "method": "session/update",
  "params": {
    "sessionId": "fcbee826-6ffe-492f-830e-92514e9e6e62",
    "update": {
      "sessionUpdate": "agent_message_chunk",
      "content": {
        "type": "text",
        "text": "Error: k: Model Blocked This model has been blocked by your team admin settings."
      }
    }
  }
}

Steps to Reproduce

  1. Disable “Thinking” for the model in Cursor Settings > Models (or have a plan/permissions that do not include thinking).
  2. Connect an ACP client (e.g., IntelliJ) to Cursor via ACP.
  3. The client receives the model list from the ACP server on initialization.
  4. Select Opus 4.6 (or any model returned with thinking=true).
  5. The client uses the variant ID as-is in a session/set_model call.
  6. The request fails because thinking is not allowed.

Expected Behavior

The model list returned by the ACP server should only include variants that the user is actually permitted to use. Specifically:
• If thinking is not enabled or not permitted, do not return thinking=true variants. Return thinking=false variants instead.
• Ideally, for models that support both modes, return separate entries for each (e.g., “Opus 4.6” with thinking=false and “Opus 4.6 Thinking” with thinking=true), so the client and user can choose. Only include the thinking=true variant if the user actually has access to it.

Operating System

MacOS

Version Information

About Cursor CLI

CLI Version 2026.03.11-6dfa30c
Model Claude 4.6 Opus
OS darwin (arm64)

Additional Information

The client is IntelliJ IDEA 2025.3.3 using the Cursor agent from the ACP Registry.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

3 Likes

Hi Jake,

In this first release of ACP, we hardcoded specific model variants as defaults for each model. Currently, there’s no mechanism to fall back to another variant if one isn’t allowed for a team.

We have an internal ticket tracking this issue (to add more flexibility regarding which models ACP advertises), and I’ll link your request to it.

Thanks for the feedback!

2 Likes

Hi Colin,

Do you have an estimate for when this feature will be implemented? Thank you.

Hi Colin,

I’m also looking for this feature urgently. My work requires the 1M context windows, but I’m limited to a fixed selection of model configurations in ACP that does not include those. The interactive CLI allows me to choose those models (although oddly the autocomplete inside the TUI doesn’t list them), but the ACP interface rejects them entirely.

Can you please let me know an ETA for this fix with full model selection support?

Thank you.