Files
OmniRoute/docs/providers/CURSOR-DOCKER.md
SB Yoon 0dbc34ea56 feat(cursor): exclusive live listing + verbatim AgentRun model ids (#9911)
* feat(cursor): prefer live synced catalog for listing and Test All

When an active synced Cursor catalog exists, list only live models plus
injected auto routers (and customs). Keep the static registry as offline
fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(cursor): send live-catalog model ids verbatim on AgentRun

Skip #7289 effort/reasoning splits when the exact id is in the active synced
Cursor catalog so AgentRun does not rewrite flattened live ids into missing
bases that return AI Model Not Found. Also wires auto-cost/balance/intelligence
to default + optimization for the injected routers.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: yansigit <yansigit@users.noreply.github.com>
2026-08-10 03:46:14 -03:00

1.3 KiB

title, version, lastUpdated
title version lastUpdated
Cursor model listing 3.8.50 2026-08-09

Cursor model listing

Live catalog is exclusive when synced

After a successful Cursor model sync (cursor-agent --list-models → persisted synced catalog), the dashboard, /v1/models, and Test All list:

  1. Models returned by the live sync
  2. Injected auto-router ids: auto, auto-cost, auto-balance, auto-intelligence
  3. Operator custom models (Import / manual) — never pruned by sync

The large static registry under open-sse/config/providers/registry/cursor/ is offline fallback only. When synced is empty (or discovery fails), listing falls back to that registry.

Effort-suffixed ids (for example claude-4.6-sonnet-high) may still be requested at runtime: resolveRequestedModel strips the suffix into a wire ModelParameter. Exclusive listing intentionally hides those static variants from Test All so probes match what Cursor actually returns as available.

Helpers

  • providerUsesExclusiveSyncedListing("cursor"|"cu")src/lib/providers/modelListingCapability.ts
  • mergeProviderModelListing — dashboard merge
  • ensureCursorAutoCatalogEntry — auto* inject on discovery + listing
  • shouldSuppressStaticModelForExclusiveListing/v1/models static loop