Repository navigation
cursor: expand catalog effort slugs into parameters - #193
Merged
Merged
Conversation
List ids such as claude-sonnet-5-5-medium are not wire ids. Cursor expects the family id plus the parameters stored on that variant. Sending fast on a family that does not list it returns ERROR_BAD_MODEL_NAME, which this proxy reports as Connect not_found. Composer and Grok stay a family id plus the fast flag. Unknown cursor ids still pass through unchanged.
Use an async mutex for the shared environment lock so Cursor integration tests can hold it through upstream requests without blocking executor threads. Keep the synchronous auth test on the same lock using blocking_lock. Remove the obsolete lint suppressions and format the model parameter code as required by the pre-commit checks.
raine
force-pushed
the
cursor-catalog-parameters
branch
from
October 23, 2026 06:12
588bdbf to
4375b6b
Compare
Owner
|
Merged, thanks @ethandey for the fix! Rebased onto main and kept the Grok 4.7 max-mode support. All checks pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Cursor model picker id is not the AgentService wire id.
claude-sonnet-5-5-mediumis rejected. The request Cursor accepts is family idclaude-sonnet-5-5withcontext=300kandreasoning_effort=medium, and nofastparameter.model_messagealways appendedfast=false. Cursor answersERROR_BAD_MODEL_NAME, which this proxy reports asConnect error 502: Error (not_found).This maps the current non-max variants for Sonnet 5.5, Opus 5.5, Fable 5, Fable 5.1, Sonnet 5, Gemini 3.8 Flash, Gemini 4 Argon, Muse Spark 1.3, Muse Wonder 1.0, and Kimi K3. The effort key is whichever the catalog uses (
reasoning_effort,effort, orreasoning). Composer and Grok stay a family id plusfast. An unknowncursor:<id>still passes through.The table is the non-max parameter set, not max mode, and it is not a live AvailableModels fetch. A trailing
-fastis kept only for families whose catalog listsfast.This is separate from #179. That change is what turns Cursor's native tool call into a Claude tool block. This one is what makes the model name valid in the first place.