Cursor is switching to more expensive model mid-task when executing the plan. This will and should severe the user’s model quota, especially when they only use your entry-level pro plan.
Steps to Reproduce
Make a plan with plan mode (using Grok 4.6 High)
Select a non Cursor default model for the plan (in this case I’m using GPT Luna 1M Max)
Execute the plan using the selected model (GPT Luna 1M Max)
Checked my “Other” quota and it’s still 19% used. I expect this task would take 5-10% more
The task running for 2+ hours. PS: It’s a mid-level task, and not that heavy. Don’t ask me why, bcs only God knows why this happen. I expect this particular task would took 10-15 min with Composer 2.5). Maybe OpenAI is playing joke on you? idk too.
The plan is built with my quota emptied (100% already) and I continue the rest using my remaining Cursor model quotas.
Expected Behavior
Cursor only uses the model selected for building the plan. And if needed, Cursor SHOULD ask the user first to switch to a more intelligent model.
For AI issues: add Request ID with privacy disabled
Request ID: 13a1b4c2-d9c8-46b3-97c2-c82f24f694b5
Additional Information
I get this issue only when using the plan mode then start executing the plan using model that aren’t included in cursor default quota (not Grok or Composer).
The issue happen when I’m using GPT Luna when at mid-task, cursor switched is to a GPT Sol with much higher pricing.
And thanks to that, now my quota is emptied, on my day 6 of subscription.
Hey, thanks for the detailed report. I reviewed that session.
Your main chat stayed on GPT-5.6 Luna 1M Max the whole time. It didn’t switch models. The GPT-5.6 Sol lines you see in usage are subagents. While executing the plan, the agent delegated some work, like code review and general tasks, to child agents and chose GPT-5.6 Sol for them. Subagents should inherit the parent model unless you explicitly request a different one, and we track cases where the agent still picks a different, more expensive model. The long runtime comes from the same thing. The plan ran as a fan-out of about 30 subagents, not as one long chat.
What you can do right now to stop this:
Cursor Settings > Models: turn off any models that subagents shouldn’t use, like GPT-5.6 Sol and anything you don’t pick yourself. Disabled models are removed from the list available to subagents, so the agent can’t pick them. New models are enabled by default after updates, so it’s worth rechecking this list after each update.
Add a rule in Cursor Settings > Rules with something like: “When spawning subagents with the Task tool, never pass a model parameter. Subagents must always inherit the parent model unless I explicitly name a model in my prompt.”
One more thing from that session: one Grok 4.6 High subagent on later turns switched to the Fast variant even though you didn’t pick Fast. That’s a separate issue and we’re tracking it too. For now, it helps to spawn fresh subagents instead of resuming a long-lived one.
If you want us to review the usage for that session from a billing perspective, email [email protected] with a link to this thread and they’ll look into your specific case.
Hey @ezralazuardy small update on this thread. The situation where subagents can run on a model different from the one selected for the chat is still on our radar, but I can’t share a specific timeline yet.
For now, the best way to keep subagents on the model you want is the same two-step approach mentioned above: in Cursor Settings > Models, disable GPT-5.6 Sol and any other models you don’t want subagents to use, plus add a rule that prevents the agent from passing model when spawning subagents. After updates, new models are enabled by default, so it’s worth re-checking this list after every update.
About usage for that session, if you want someone to review it from a billing perspective, email [email protected] with a link to this thread. I’ll post here if there’s any progress.