[Feature] Model Selection of Sub Agents
Status Fixed / completed
Maintainer reply ✓ Yes — sid374
Activity 13 comments · opened Jun 24, 2025 · closed Aug 1, 2025
💡 Likely answer: A maintainer (sid374, contributor)
responded on this thread — see the highlighted reply below.
In Claude Code (CC) we can choose the model, currently Opus or Sonnet, via the /model prompt. It would be really cool if it would be possible to select a separate model for sub agents too.
So one could use the powerful Opus for the main task and fast Sonnet for sub agents which gather information.
Looking forward to this 😃
13 Comments
This is my number 1 feature request - the ability to define the model as part of subtask creation. It seems so wasteful and suboptimal that if you want Opus for some part of a long-running task, you have to use it until it "runs out".
I have been working on an orchestrator model that automates the SDLC of a full software team. Most of those roles would be better performed with Sonnet, but there's no way make this happen right now.
bump this to the top of the list!
Also what about the 3 level chain:
----
Or opus orchestrator
I want to keep original context window clean so I can discuss with main agent and not have to recontextualize.
Yes, please add this.
I will chime in that with the new rate limits at the end of August, this would be super helpful. I don't think I'm in that 5% but the reason I never use sonnet is because I'm doing Rust and the planner needs to be Opus. Since I can't switch out of it, it is all of the opus all of the time.
I literally just did a "evaluate all the files with subagents, one each" this afternoon. This time because I knew it was going to be like 30 of them I did switch it by hand. In general what I think of as the mapreduce flow is very effective but Opus gets used for the map part too.
With custom subagents it's also the first thing I looked for.
It's rare that there is something which would make the cost cheaper and the UX better, but IMO some sort of support for this would very much do both. I don't want to pay more for wasteful high latency.
This has been implemented: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#1064
Amazing! Thank you Marco!
Excellent addition! However, we’d really like to see dynamic model selection implemented. Ideally, we could establish model selection guidelines that instruct Claude Code to automatically apply specific models to subagent calls based on defined criteria.
It sounds like what you're looking for is an orchestrator and then different levels/sets of agents. I could imagine that a setup where the orchestrator has the instructions along the lines of
Within the agent definitions you'd then define boundaries as to when they should terminate their work - e.g. the opus agents would rather do high-level work (creating plans) while the sonnet agents are the ones executing the plans. So the key is that you're running multi-agent (with an orchestrator) rather than relying on Claude Code to resolve this logic.
Thanks for your response. We're already doing this but it is more overhead (e.g. duplicates of multiple agents with minute variations). We'd like to see this implemented directly in Claude Code.
Well, I think quite apart from that being able to say "Use the task tool with sonnet to one off thing".
I'll definitely be making use of the custom subagents for this. Sort of, anyway. I'm not sure how one might go about setting that up with the parent agent's system prompts or w/e. There's enough utility now for me to work it out.
But I have this...weird skill. Somehow I mostly oneshot my prompts all the time. Some of it is me, some of it is my setups, CLAUDE.md, lots of factors. I don't have the right words--we as humans don't seem to have invented the vocabulary to describe these workflows to each other yet, when it's at a sort of meta prompt engineering level--but when I'm doing the thing where I 90% get what I want the first time, I just want to be able to "and use sonnet" parts of it. Opus the amazingly overengineered grepper is neither my friend nor my intent (yes custom subagent, but generalize the point).
Thanks for the defined customized subagent one. That will indeed be quite useful.
"Agents: Added model customization support - you can now specify which model an agent should use"
Thank you so much for that! Could you tell us how to set this? Is this just for sub agents (the new ones) or also for sub tasks? For me the naming between the new custom sub agents and the old sub tasks is a bit confusing tbh.
This feature is now implemented and available for use! Thanks for the feedback on this thread everyone :)
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.