Skip to content

Promote the latest Cursor models in the picker - #937

Merged
SawyerHood merged 2 commits into
mainfrom
bb/cursor-models-unavailable-in-bb-thr_ucnzknbazt
Aug 3, 2026
Merged

Promote the latest Cursor models in the picker#937
SawyerHood merged 2 commits into
mainfrom
bb/cursor-models-unavailable-in-bb-thr_ucnzknbazt

Conversation

@SawyerHood

Copy link
Copy Markdown
Collaborator

Summary

The Cursor default model list in ACP_AGENT_PROFILES was stale. Grok 4.5, GPT-5.6 Sol, and Opus 5 were hidden under "More models". This reorders primaryModels to put the latest families first.

New order: auto, Cursor Grok 4.5, GPT-5.6 Sol, Opus 5, Fable 5, Composer 2.5.

Opus 4.8 and GPT-5.5 move into "More models". They stay selectable.

Notes

primaryModels matches family ids — the raw id of the family's default variant — not raw variant ids. The catalog folds reasoning effort and the -fast tail into one entry per family, so the -fast ids from the issue need no separate entries. A wrong id makes an entry vanish, and an all-miss list silently falls back to the full picker.

I verified every id by running real agent --list-models output through parseAgentModelLines + buildAgentModelCatalog. All 6 match a real family.

Tests

  • pnpm exec turbo run typecheck test --filter=@bb/agent-runtime — 808 tests passed.
  • Visual check in the dev app: the Cursor tab of the model picker shows the new order.

Fixes #933

🤖 Generated with Claude Code

The Cursor default model list was stale, so Grok 4.5, GPT-5.6 Sol, and
Opus 5 were hidden under "More models". Reorder `primaryModels` to put
the latest families first.

The ids are family ids (the default variant's raw id), not raw variant
ids. The catalog folds reasoning effort and the `-fast` tail into one
entry per family. I verified each id against real `agent --list-models`
output through `parseAgentModelLines` + `buildAgentModelCatalog`.

Fixes #933

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@SawyerHood

Copy link
Copy Markdown
Collaborator Author

🚨 SLOP COP 🚨 · review

I am SlopCop. I am reviewing this pull request for security, code quality, performance, architecture, and end-to-end behavior.

@SawyerHood

Copy link
Copy Markdown
Collaborator Author

🚨 SLOP COP 🚨 · review

Security review complete. I found no security issues. The model identifiers remain constant argv values without shell interpretation.

@SawyerHood

Copy link
Copy Markdown
Collaborator Author

🚨 SLOP COP 🚨 · review

Performance review complete. I found no performance issue. The picker still processes 32 families and only moves one row between lists.

@SawyerHood

Copy link
Copy Markdown
Collaborator Author

🚨 SLOP COP 🚨 · review

Code-quality and architecture review complete. Every new identifier matches the Cursor catalog. I found one blocking host-daemon update issue.

selectFlag: "--model",
// Family ids (the default variant's raw id), not raw variant ids: the
// catalog folds effort and the `-fast` tail into one entry per family.
primaryModels: [

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 slopcop/review — Increase the host daemon protocol version.

This list controls provider.list_models inside the host daemon. The server does not send a launch spec for built-in ACP providers.

An enrolled daemon with protocol 69 will keep the old list after the server deploys this commit. The unchanged protocol will not trigger the daemon update.

Increase HOST_DAEMON_PROTOCOL_VERSION and its contract expectation. This change will make each enrolled daemon receive the new list.

`packages/plugin-registry/r/icon.json` and `utils.json` changed in #888,
but `plugin-starter-files.generated.ts` was not regenerated. The
`@bb/templates` test runs the generator with `--check`, so CI fails on
every branch that misses the Turbo cache.

This is the mechanical output of
`node packages/templates/scripts/generate-templates.mjs`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@SawyerHood

Copy link
Copy Markdown
Collaborator Author

🚨 SLOP COP 🚨 · review

End-to-end review complete. The dev browser opened the Cursor picker. A local agent name conflict prevented the full UI catalog.

A direct host-daemon run with cursor-agent returned the six expected primary rows and 26 additional rows.

The agent-runtime typecheck passed. All 808 agent-runtime tests passed.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

One blocking issue requires a change.

The host daemon owns this built-in Cursor policy. The server does not send the built-in launch spec to enrolled daemons.

Without a protocol version increase, connected protocol-69 daemons keep the old primary list. Increase HOST_DAEMON_PROTOCOL_VERSION and its contract expectation.

The security review found no issue. The performance review found no issue.

The real Cursor catalog returned all six requested primary rows. The agent-runtime typecheck and all 808 agent-runtime tests passed.

The dev browser opened the Cursor picker. A local executable name conflict prevented a complete UI catalog check.

The pull request head later added one generated template update. That update did not change the reviewed Cursor code or this finding.

@SawyerHood
SawyerHood merged commit 9daeffb into main Aug 3, 2026
10 checks passed
@SawyerHood
SawyerHood deleted the bb/cursor-models-unavailable-in-bb-thr_ucnzknbazt branch August 3, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cursor models not available via BB

1 participant