Some time back I thought you could specify what model(s) to use for subagents, I noticed recently my agents would start spawning much higher usage subagents for simple tasks, and I can no longer find an option for restricting which are used. Has this feature been removed?
Since this is a cost-affecting decision during runtime, I think the picker needs to be reestablished. There was discussion some time back on using rules, however those are non-deterministic and it would require the user to know to update their model-specific rules as the models change.
If I’m missing the option or there’s a different workflow pattern to follow here please let me know. Thanks.
Hi @Samuel_Talenti Thank you for the post! Nothing has been removed here. The Explore Subagent Model setting under Cursor Settings → Models is still in place, and Explore is the only built-in subagent with its own picker, so that’s most likely the one you’re remembering. A broader “allowed models for subagents” control doesn’t exist yet.
For the built-in subagents, when the main agent launches one, it picks the model it judges best for that task from what’s available to it. However, I understand the desire to have more control over what types of models the spun-up subagents use. Here’s how to exercise some more control over that:
Turn off the models you don’t want under Cursor Settings → Models. I tested this yesterday on another thread with everything disabled except Grok 4.5 and Composer 2.5, and it was effective at limiting what the subagent could reach for. It’s not a 100% guaranteed block, but it’s the closest thing to an allowlist right now and a good place to start.
Pin the model on a custom subagent. Add a markdown file under .cursor/agents/ (this project) or ~/.cursor/agents/ (all projects) and set model: in the frontmatter. Use model: inherit to keep it on the parent chat’s model, or pin a specific model ID. See Subagent model configuration.
Set the Explore Subagent Model explicitly if that’s where a chunk of your usage is going, rather than leaving it on the default.
Here’s an example of my workspace with #1 in action. Not a 100% guarantee, but it worked in my brief testing.
Thanks for the quick reply Kevin! Still seems to be an issue though - I found the setting which was set to Grok 4.5 (used to be Composer 2.5, and I’ve noticed that’s what ends up running in ~95% of my recent explore subagents by default), however the chat that prompted this post was a Sonnet 5 High orchestrator that spawned ~6 subagents of Sonnet 5 High.
I understand these could have been a non-explore subagents, but the task across the 6 was to read transcripts of previous chats which I’d think falls under “explore”. The only other defined subagents I have across my user or workspace are the ci-watcher and thermo-nuclear-code-quality-review from the cursor-team-kit plugin.
Will the pinning you describe only affect the custom subagents, or all including whatever “generic” subagent I hit above? I can’t disable the models I don’t want it to use, as many of those are what I do want to use for the main orchestrator.
Not sure if it helps since I have privacy on, but here’s the chat ID: 36e0a1df-822b-4f9a-8f07-5dc42822a09b
Pinning the custom model will only impact the custom subagents.
Totally understand this. Unfortunately, this is a real limitation right now. We understand the desire for more control, and we are actively exploring this area, so there may be more updates to share here soon. I just don’t have an exact update to share at this time.