Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
When you run out of tokens instead of prompting you, it silently swaps out models, and this has caused me significant lost time, revenue and hardship having to redo work that a different model implemented unexpectedly
Steps to Reproduce
Begin task
Run out of tokens
Not get prompted for more
Model is swapped to composer without prompting and asking to
Expected Behavior
I would expect it to give me a choice
Operating System
Linux
Version Information
Version: 3.2.11
VSCode Version: 1.105.1
Commit: e9ee1339915a927dfb2df4a836dd9c8337e17cc0
Date: 2026-04-24T14:36:47.933Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 41.3.0
Chromium: 146.0.7680.188
Node.js: 24.15.0
V8: 14.6.202.33-electron.0
OS: Linux x64 6.19.14-arch1-1
Does this stop you from using Cursor
No
Hi @letters-s_s,
Thanks for opening this — I see you followed up from the earlier thread as I suggested there, and I’m sorry the issue is still happening.
This is a known class of bugs. Several fixes shipped in March for model picker resets, but there are still paths where the model selection gets silently overridden. Our team is actively working on the remaining cases.
To help us pinpoint which path is affecting you, could you share:
-
A Request ID from a session where the switch happened — click the three dots in the top right of the chat and select Copy Request ID. How to find your Request ID
-
Does the model picker visually change to show “Composer” or “Auto,” or does it still show your selected model while the output quality noticeably drops?
This will help us determine exactly which auto-switch mechanism you’re hitting so we can route it to the right fix.
Thank you! it happens when I run out of tokens, and I think at one point it was switching to auto, but now it’s been switching to compose2 when that happens
It used to prompt me a week or two ago, and say you’re out of tokens and give me a choice to switch the model, but even then it would sometimes skip the prompt, and just update the model.
Sometimes I give it long running task and come back wen I hear the bell, and thank you for adding that.
I’m not always checking the model, and maybe that sounds silly, but lately I’ve just had it set to opus. I even attempted to stop this by removing composer2 from the list, and it added it self back when I ran out of tokens. So sometime, I’m several messages past it switching
This may help, it may only be happening when I’m burning down on demand usage. Cursor may have different handler code when it’s measuring and reacting to included api quota versus on demand.
If you’d like to replicate my exact situation forcefully, just make sure you’re burning down on demand usage and then lower it below what you’ve already spend
if you have $200 total on demand usage, and you’ve used $120 so far, set it to $100 as example, so you’re already over now. If you prompt it once or twice after that, that’s when it would quietly swap on me.
hope this helps, and let me know if there’s anything else helpful I can provide. Thank you!
That’s really helpful context, thank you. The behavior you’re describing — silent switch to Composer 2 when on-demand spending exceeds the limit, the model re-adding itself when you remove it — maps to a specific auto-switch mechanism we’re already tracking. The repro steps are great, and I’ve passed them along to the team.
If you do get a chance to grab a Request ID (three dots menu in chat > Copy Request ID) right after it happens next, that would help us confirm the exact backend event. But the pattern you’ve described is clear enough on its own.
We’ll follow up here when a fix ships for this path.