Cursor is changing model mid-task

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

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

  1. Make a plan with plan mode (using Grok 4.6 High)
  2. Select a non Cursor default model for the plan (in this case I’m using GPT Luna 1M Max)
  3. Execute the plan using the selected model (GPT Luna 1M Max)
  4. Checked my “Other” quota and it’s still 19% used. I expect this task would take 5-10% more
  5. 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.
  6. 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.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Version: 3.20.10
VS Code Extension API: 1.128.0
Commit: d6f462cdd0a6a6d1cff570daf980e671d0a63de0
Date: 2026-09-10T21:04:54.045Z
Layout: Agent Window
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Darwin arm64 25.6.0

For AI issues: which model did you use?

GPT-5.6 Luna 1M Max

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.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

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:

  1. 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.
  2. 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.