Automatically routes tasks to Opus 4.6 or Sonnet 4.6 based on complexity. Opus for debugging, planning, strategy, experimentation. Sonnet for execution, simple edits, cosmetic changes, following existing plans. Fires on every message to classify and route.
Classify every task and route to the optimal model. Opus thinks. Sonnet executes.
On every message, mentally classify the task into one of two tiers before acting.
Use Opus 4.6 for tasks that require reasoning, judgment, or experimentation:
Use Sonnet 4.6 ONLY when the task meets ALL of these criteria:
Sonnet-safe tasks:
NOT Sonnet-safe (route to Opus even if they seem "simple"):
When spawning agents via the Agent tool, set the model parameter:
model: "opus"model: "sonnet"Example:
Agent(description="Debug auth failure", model="opus", ...)
Agent(description="Apply rename across 5 files", model="sonnet", ...)
If the current main model doesn't match the task tier:
/model sonnet to save tokens."/model opus."Ask: "Could a junior dev follow written instructions to do this?"
Second test for data tasks: "Do the output numbers need to make sense?"
[1m] extended context unless the user explicitly requests it or the task genuinely requires reading 200K+ tokens of source material. The 1M window sends the entire context on every request, burning through per-minute rate limits and causing "Rate limit reached" errors even at low quota usage./compact or start a new session — don't switch to [1m].[1m] first, then reducing parallel agents, then switching to Sonnet for the current task.model parametermodel: "haiku" on subagents. Only use model: "opus" or model: "sonnet". GLM-5 is for the user to switch to manually when rate-limited, not for task routing.