Skip to content

fix(server): surface Cursor Auto Optimize For modes - #9587

Open
Gust4Oliveira wants to merge 1 commit into
pingdotgg:mainfrom
Gust4Oliveira:main
Open

fix(server): surface Cursor Auto Optimize For modes#9587
Gust4Oliveira wants to merge 1 commit into
pingdotgg:mainfrom
Gust4Oliveira:main

Conversation

@Gust4Oliveira

@Gust4Oliveira Gust4Oliveira commented Sep 4, 2026

Copy link
Copy Markdown

What Changed

Cursor Auto (auto-smart) now surfaces ACP optimize_for as a model option descriptor (optimizeFor) with Cost, Balance, and Intelligence, and writes the selection back through session/set_config_option.

Server mapping + tests in CursorProvider; Settings capability labels also recognize optimizeFor.

Before

Cursor's Auto
Captura de Tela 2026-09-04 às 01 14 26

Claude Fable 5.1
Captura de Tela 2026-09-04 às 01 14 41

After

Cursor's Auto
Captura de Tela 2026-09-04 às 01 16 53

Why

Server mapping + tests in CursorProvider; Settings capability labels also recognize optimizeFor.

Why

Live Cursor ACP advertises Optimize For on Auto with three modes — Intelligence (intelligence), Balance (balanced, default), and Cost (cost) — but T3 only mapped effort/reasoning-style options and whitelisted reasoning values. Those optimize_for options were dropped, so Auto had no Traits control and none of Intelligence / Balance / Cost could be selected or applied.

Cursor heavily subsidizes inference on Auto at the Cost tier. Without that mode in T3 Code, users can only take full advantage of that subsidized Auto usage inside Cursor’s own apps — not through T3. This keeps contracts/UI generic and fixes discovery + write-back at the Cursor adapter boundary.

UI Changes

Traits on Cursor Auto now show Optimize For (Intelligence / Balance / Cost). Settings model list treats optimizeFor like other select capabilities.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Add optimizeFor select capability for Cursor Router Auto model config

  • Adds isCursorOptimizeForConfigOption and findCursorOptimizeForConfigOption to detect and locate the Optimize For select option within Cursor model_config entries
  • buildCursorCapabilitiesFromConfigOptions now emits an Optimize For select descriptor (with current value as default) placed before reasoning, context, and boolean descriptors
  • resolveCursorAcpConfigUpdates translates an optimizeFor provider selection into a Cursor ACP config update using the original backend identifier and value
  • describeModelCapabilities in ProviderModelsSection.tsx now shows the Reasoning label for models exposing an optimizeFor select

Macroscope summarized d8dabdc.


Note

Low Risk
Scoped Cursor adapter mapping and a settings label tweak; no auth, billing, or broad API changes.

Overview
Cursor Router Auto (auto-smart) now maps ACP optimize_for into a generic optimizeFor select so Traits can show Intelligence, Balance, and Cost (default Balance).

CursorProvider discovers model_config optimize options, builds the capability descriptor from ACP select values, and writes user picks back as optimize_for via resolveCursorAcpConfigUpdates. Tests cover Auto Smart fixture capability derivation and Cost selection write-back.

Settings model list capability hints treat optimizeFor like other reasoning-style selects so Auto shows the expected trait label.

Reviewed by Cursor Bugbot for commit d8dabdc. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 4, 2026
Map ACP optimize_for into model optionDescriptors so Auto exposes Cost, Balance, and Intelligence, and apply the selection on session config updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Gust4Oliveira
Gust4Oliveira marked this pull request as ready for review September 4, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant