Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
When a model’s rate limit or quota is exceeded, Cursor displays a “Switch to Auto” option. Upon accepting it, the model is changed to the raw string value “auto” (lowercase). However, when sending a new message afterwards, the request fails with: “Invalid model option: auto”. The workaround is to manually open the model picker dropdown and click “Auto”, which properly sets the model to the correct internal identifier.
Steps to Reproduce
- Use a specific model (e.g., GPT-4.1) until its quota/rate limit is reached
- When the “Switch to Auto” suggestion appears, accept it
- Observe the model picker now shows “auto” (set programmatically)
- Try sending a new message
- Error appears: “Invalid model option: auto”
- Manually click the model picker and select “Auto” — this works correctly
Expected Behavior
Accepting “Switch to Auto” should set the model to the same valid identifier as manually selecting “Auto” from the model picker dropdown, allowing requests to proceed without errors.
Operating System
Linux
Version Information
IDE: Cursor 2.6.20
Build: b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760
Arch: x64
For AI issues: which model did you use?
Opus 4.6
For AI issues: add Request ID with privacy disabled
Any model that hits its rate limit (e.g., GPT-4.1). The issue is with the “Switch to Auto” fallback mechanism.
Additional Information
The root cause appears to be that the programmatic “Switch to Auto” sets the model to the string “auto” instead of the proper model identifier (e.g., “copilot/auto” with vendor metadata). Manually selecting “Auto” from the picker works because it uses the full model object with correct identifier and metadata.
Does this stop you from using Cursor
No - Cursor works, but with this issue