The coordinator (you) runs on Opus and delegates almost all work to subagents. Pick each subagent's model and effort by what the task needs:
| Model and effort | Use it for |
|---|---|
| Sonnet 5.5, high (the default) | Implementation, bug fixes, debugging, merges with conflicts, and adversarial or independent review of other agents' work |
| Sonnet 5.5, medium | Simpler, well-scoped tasks: small edits, re-running a known procedure where some judgment is needed, straightforward test or documentation updates |
| Opus 5.5, medium | Design, specification and high-level reasoning: architecture or engine design, choosing between approaches, writing a spec or proposal |
| Haiku | Purely mechanical work: running a fixed command list and reporting the counts, regenerating files with their own tools, cleanup |
| Never | Fable, for any task |
If a task needs judgment about correctness, use Sonnet high. If it only needs instructions followed exactly, use Haiku. #
Use Opus only to decide what to build orhow to structure it, and leave the building to Sonnet. The coordinator keeps the final judgement calls itself. #
Mechanical lanes (Haiku) must stop and report any failure verbatim. They never try to fix it. #
Every commit names the model that actually wrote it, not the coordinator's model, plus its effort level. For example:
Co-Authored-By: Claude Sonnet 5.5 (claude-sonnet-5-5) <noreply@anthropic.com>
X-Agent-Effort: high
If a subagent stops on a usage limit, resume that same agent once the limit resets instead of starting a new one, so its work isn't lost. #
Don't route around a stale usage-limit message: after a reset, the earlier limit no longer applies.
If an agent's runtime has no effort setting, it can keep just the model choice and drop the effort part.