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 (none–max 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 --version → 0.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
- Install bb desktop 0.40.0 with
cursor-agent 2026.08.11 on PATH and Cursor logged in (cursor-agent login).
- Run:
bb provider models acp-cursor --json
- Open New Thread, provider Cursor, select GPT-5.6 Sol, open the Reasoning control.
- (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 none–max 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 none–max).
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 low–max.
- 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 low–max; 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.
AGENT GENERATED: by Cursor Grok 4.6
Investigation: local bb thread thr_vkbcc7h6uk (not publicly readable).
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 (
none–maxfor 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 --version→0.40.0.~/.bb.cursor-agent/agent2026.08.11-e8db854 (cursor-agent --version).acp-cursor. Reproduced withbb provider models acp-cursor --json(no thread required).mainatead4c605d0fe16066baef12fa544ab14243c9f78(same Cursor probe constants as tagdesktop-v0.40.0/f3cab2dd8c5c4be6d450be318550f3a04c8c3a1f).Steps to reproduce
cursor-agent2026.08.11 on PATH and Cursor logged in (cursor-agent login).cursor-agent acp,initializewithclientCapabilities._meta.parameterizedModelPicker: true,session/new, thensession/set_config_optionmodel=gpt-5.6-soland readconfigOptionswithcategory: "thought_level".Did not reproduce as a Cursor-account / billing problem: the same CLI login still returns Sol’s
none–maxlist in step 4. Did not reproduce on 0.39.0 (catalog usedcursor-agent --list-modelsand family ids such asgpt-5.6-sol-medium).Expected vs actual
Actual (
bb provider models acp-cursor --jsonon 0.40.0, trimmed):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 idsgpt-5.6-sol-medium,claude-opus-5-thinking-medium,claude-fable-5-thinking-mediumwithnone–max).Evidence
Observed (this machine, 2026-08-26):
acp-cursor.session/newreturns 35 model options. Switching model viasession/set_config_optiontakes ~1.7 s each here.gpt-5.6-sol, Cursor returnsid: "reasoning",category: "thought_level", valuesnone, low, medium, high, xhigh, max(currentmedium), plusfastoff/on.grok-4.6:id: "effort", valueslow, medium, high, xhigh.claude-opus-5/claude-fable-5: twothought_leveloptions —thinkingtrue/false first, theneffortlow–max.thought_level.0.39.0 vs 0.40.0 in tree (permalinks):
modelCli.listArgs: ["--list-models"]with family ids includinggpt-5.6-sol-medium: acp-launch-specs.ts on desktop-v0.39.0.reasoningProbePriorityModelIds: ["grok-4.6", "grok-4.5"]).findAcpThoughtLevelConfigOptionreturns the firstcategory === "thought_level"option: model-catalog.ts#L140-L145.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_leveloption is Thinking on/off (true/false), which bb cannot map tolow–max; 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 maxis accepted by the CLI. Whether Cursor then appliesmaxon Sol was not verified with a live spawn in this report; ACP after a model switch does includemaxas areasoningvalue.There is no
customAgents/customAcpAgentsknob that can override reservedacp-cursorprobe priority or the 5 s timeout (docs/configuration.md).What you ruled out
thought_levelaftermodel=gpt-5.6-solisnone–max.$ref) — picker catalog, no prompt.acp-cursorreasoning / parameterized picker / “managed by the connected ACP agent” /gpt-5.6-sol; no duplicate of this 0.40.0 picker regression.customAcpAgentscannot replaceacp-cursor(reserved always-listed id).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_levelmatch is fixed). Effort looks Low–Medium: probeprimaryModels(five Cube families) instead of all 35, give that walk enough time (~12 s at 1.7 s/switch here), and when severalthought_leveloptions exist pick the one whose values map to bb reasoning levels (effort/reasoning), not Thinking on/off.mainatead4c605.