Hey, thanks for the report. This isn’t mis-billing. Your main CLI agent is actually running on Grok 4.5, as selected.
gpt-5.6-sol-medium shows up in usage because of Task sub-agents that the Grok agent spins up during the task. Key detail: sub-agents don’t automatically inherit the model you picked. By default, they go to a separate model, usually a lighter one, and they only inherit the parent model in Max Mode. Also, the parent agent can explicitly pass a model into the sub-agent call, which is why you can see usage grow under a different model name.
If a sub-agent is picking an expensive model despite your sub-agent model settings, that’s a known bug. The parent injects model into the Task call. We’re tracking it, but there’s no ETA for a fix yet. To help me verify on the backend which model was actually used, please send the Request ID right corner of the chat > Copy Request ID with Privacy Mode turned off.
How to reduce this right now:
Hide or disable expensive models you don’t want sub-agents to use in Settings > Models, then the agent can’t choose them.
Your workaround also works: start a new session and explicitly say not to use other models.
Let me know how it goes, and send the Request ID. I’ll check what actually happened.
Thanks, got the Request ID 202bb3c8-0df8-4945-8eed-a71e98ceb85d - I’ll check on the backend what actually ran there.
And sorry, I mixed things up on Settings > Models earlier. That enable/disable toggle lives in the Cursor desktop app (Cursor Settings > Models), not in the CLI or the web dashboard. In the CLI you pick your main model via /model, but there’s no UI to globally disable specific models for sub-agents yet.
One thing that does work in the CLI, though: you can define custom sub-agents in ~/.cursor/agents and pin a model: in the definition. When the agent calls one of those, it’ll use the model you set. Two caveats:
Use a valid Cursor model slug. If the CLI can’t resolve it, it silently falls back to your session model (that’s a separate known bug), so it looks like the setting didn’t take.
This pins the sub-agents you define and invoke yourself. It won’t stop the parent agent from spawning its own Task sub-agents and picking a model for them, which is where the gpt-5.6-sol-medium usage came from.
So if you mostly work via CLI, the most reliable options are still: start a new session and explicitly tell it not to use other models, or install the desktop app on the same account and hide the expensive models there so the agent can’t pick them.
Let me clarify and also fix what I said above about Settings. For CLI, the situation is more accurately like this.
Hiding models in Settings is a client-side preference, not a hard server-side block. The backend routing can still see the model, and a sub-agent can still pick it. So it doesn’t work as a guarantee against using an expensive model, not in desktop and not in CLI.
What you can actually do in CLI:
Set the model for your own sub-agents via frontmatter in ~/.cursor/agents/*.md:
Important: use a valid slug list it via cursor-agent --list-models, otherwise the CLI will silently fall back to the session model. Also, this only pins sub-agents that you define and call yourself. The parent agent can still spawn its own Task sub-agents and choose their model, which is where gpt-5.6-sol-medium came from.
Pin the main agent model at launch:
cursor-agent --model grok-4.5
For Task sub-agents that the agent calls automatically, model in CLI currently only gives composer-2.5-fast. The only way to move them off the fast tier is to not set model, then they inherit from the parent.
There is no guaranteed local way to block a sub-agent from using an expensive model in CLI yet. Real server-side model enforcement exists only for Team and Enterprise via the team dashboard. This is a known limitation, and I can’t give an ETA for expanding sub-agent model selection in CLI.
Let me know if anything behaves differently from what I described.