Grok model selected in cli. Usage shows gpt-5.6-sol-medium

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Hi!

Been using cursor cli without any issues until today where i saw my api usage rise.

Even though i have grok 4.5 high selected on the cli, usage on gpt-5.6-sol-medium appears on my account.

What could be causing this?

Thanks

Steps to Reproduce

Selected grok 4.5 high. usage shows gtp model

Expected Behavior

Only grok usage

Operating System

Linux

Version Information

2026.07.09-a3815c0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Started a new session and mentioned specifically to not use any other model.

Seems to be sticking to the correct model now.

Maybe a subagent started using the wrong model, and resuming the session just continued with the issue.

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.

Hey,

Thanks for the explanation. I tried to find the Settings > Models option but could not find it in my cursor dashboard or on the cli commands.

I got this Request ID from the copy-request-id command: 202bb3c8-0df8-4945-8eed-a71e98ceb85d

Let me know if you need any more information from my side.

Thanks

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 know how it goes.

Thanks, will look into it.

If i hide the models in the desktop app will it also be applied to the cli, or is it just applied to sessions run on the app?

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:

  1. Set the model for your own sub-agents via frontmatter in ~/.cursor/agents/*.md:
---
name: my-subagent
model: grok-4.5
description: ...
---

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.

  1. Pin the main agent model at launch:
cursor-agent --model grok-4.5
  1. 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.

Ok thanks for the clarification.

I made the suggested changes and have been using the cli without any issues so far.

If i have any more issues, I’ll see if it makes sense to switch to the app instead.

Thanks