Skip to content

0.40.0 Cursor picker: only Grok keeps a real reasoning ladder (Sol/Opus/Fable dummy Medium) #2503

Description

@GusevV1987

Summary

On bb 0.40.0, the Cursor (acp-cursor) New Thread picker still lets me change reasoning for Grok 4.6 (Low / Medium / High / Extra High). For GPT-5.6 Sol, Claude Opus 5, Claude Fable 5, and Composer 2.5 the same row is stuck on a single Medium described as “Reasoning effort is managed by the connected ACP agent.” Yesterday on 0.39.0 those families advertised a real ladder (nonemax for Sol / Opus / Fable). Cursor still exposes Sol’s full effort list over ACP after the model is selected; bb’s catalog probe does not pick it up.

Versions and environment

  • bb 0.40.0 (desktop app, auto-updated from 0.39.0 on 2026-08-26). bb --version0.40.0.
  • macOS 26 (darwin 25.6.0), local daemon, no Connect, default data dir ~/.bb.
  • Cursor CLI cursor-agent / agent 2026.08.11-e8db854 (cursor-agent --version).
  • Provider: acp-cursor. Reproduced with bb provider models acp-cursor --json (no thread required).
  • Still present on main at ead4c605d0fe16066baef12fa544ab14243c9f78 (same Cursor probe constants as tag desktop-v0.40.0 / f3cab2dd8c5c4be6d450be318550f3a04c8c3a1f).

Steps to reproduce

  1. Install bb desktop 0.40.0 with cursor-agent 2026.08.11 on PATH and Cursor logged in (cursor-agent login).
  2. Run:
bb provider models acp-cursor --json
  1. Open New Thread, provider Cursor, select GPT-5.6 Sol, open the Reasoning control.
  2. (Optional, to show Cursor itself still has the ladder.) Start cursor-agent acp, initialize with clientCapabilities._meta.parameterizedModelPicker: true, session/new, then session/set_config_option model=gpt-5.6-sol and read configOptions with category: "thought_level".

Did not reproduce as a Cursor-account / billing problem: the same CLI login still returns Sol’s nonemax list in step 4. Did not reproduce on 0.39.0 (catalog used cursor-agent --list-models and family ids such as gpt-5.6-sol-medium).

Expected vs actual

Actual (bb provider models acp-cursor --json on 0.40.0, trimmed):

grok-4.6        default=xhigh   efforts=low, medium, high, xhigh
gpt-5.6-sol     default=medium  efforts=medium   # description: Reasoning effort is managed by the connected ACP agent.
claude-opus-5   default=medium  efforts=medium
claude-fable-5  default=medium  efforts=medium
composer-2.5    default=medium  efforts=medium

The New Thread Reasoning control matches that catalog: Grok has a real list; Sol does not.

Expected: Sol / Opus / Fable keep a real reasoning list in the picker, as on 0.39.0 when the catalog came from cursor-agent --list-models (family ids gpt-5.6-sol-medium, claude-opus-5-thinking-medium, claude-fable-5-thinking-medium with nonemax).

Evidence

Observed (this machine, 2026-08-26):

  • 0.40.0 catalog as above. Fast remains a separate supported tier on acp-cursor.
  • Cursor ACP with parameterized picker: session/new returns 35 model options. Switching model via session/set_config_option takes ~1.7 s each here.
  • After switching to gpt-5.6-sol, Cursor returns id: "reasoning", category: "thought_level", values none, low, medium, high, xhigh, max (current medium), plus fast off/on.
  • After switching to grok-4.6: id: "effort", values low, medium, high, xhigh.
  • After switching to claude-opus-5 / claude-fable-5: two thought_level options — thinking true/false first, then effort lowmax.
  • Composer 2.5: Fast only; no thought_level.

0.39.0 vs 0.40.0 in tree (permalinks):

Hypothesized cause (labeled): 35 models × ~1.7 s cannot finish in 5 s. Priority is Grok 4.6 then Grok 4.5, so the window fills with Grok. Sol is later in the remaining-option walk and keeps the dummy Medium. This matches the 0.40.0 comments in known-agents.ts (“Probe the Grok families first so the bounded discovery window captures their full effort ladders”).

Related (same probe, not required to repro Sol): if Opus/Fable were probed, the first thought_level option is Thinking on/off (true/false), which bb cannot map to lowmax; the real Effort list is the second option. Composer has no thought-level list to discover.

Workaround: bb thread spawn --provider acp-cursor --model gpt-5.6-sol --reasoning-level max is accepted by the CLI. Whether Cursor then applies max on Sol was not verified with a live spawn in this report; ACP after a model switch does include max as a reasoning value.

There is no customAgents / customAcpAgents knob that can override reserved acp-cursor probe priority or the 5 s timeout (docs/configuration.md).

What you ruled out

Suggested priority and effort

High for anyone who picks Cursor Sol/Opus/Fable from New Thread and thinks Medium is the only effort. Workaround: CLI --reasoning-level (Sol likely; Opus/Fable likely still wrong until the first-thought_level match is fixed). Effort looks Low–Medium: probe primaryModels (five Cube families) instead of all 35, give that walk enough time (~12 s at 1.7 s/switch here), and when several thought_level options exist pick the one whose values map to bb reasoning levels (effort / reasoning), not Thinking on/off.

  • Reproduced on latest release 0.40.0; same constants still on main at ead4c605.
  • Searched open and closed issues.

AGENT GENERATED: by Cursor Grok 4.6
Investigation: local bb thread thr_vkbcc7h6uk (not publicly readable).

Metadata

Metadata

Assignees

No one assigned

    Labels

    provider-acpBuilt-in plugin: provider-acpprovidersCross-provider bridges, models, login

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions