# Routing Policy of the Day - Anthropic

> Source: <https://gist.github.com/jsl/a5ab603b1cec70cc7d55a1a0664fdc84>
> Published: 2026-10-22 10:30:01+00:00

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 or*how* 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.
