Agents

Magnum Router in practice

What Magnum Router does with the messages you'd really send, in a Claude Code session with Auto chosen in the model picker: what you type, how its rules read it, and what the turn runs on. The models are Claude Code's newest of each family: Haiku (fast), Sonnet (balanced), Opus (strong). For how it works in general, see Magnum Router.

How sure it is decides how far it goes

Each rule reads a message with a confidence, shown on the card ("75% sure"). Under 50%, it doesn't know: the turn stays on the model it's on (or, with When unsure set, it asks someone). From 50% to 65%, it's a guess: it never steps down, and steps up at most to Sonnet. On a guess the effort is medium. At 65% or more, it goes where the rule says, effort and all. Wherever it lands, a card under your message says what it chose and why; Why under the card opens how it read the message.

A quick question

You type "What does the --resume flag do in this CLI?". A question, no files named, no code or stack trace, nothing attached, under 400 characters: rule "question", 75% sure. The turn runs on Haiku at low effort, and the card reads "Magnum Router: Haiku 5.5, low effort — a question, no files or code (fast tier; rule “question”, 75% sure)".

A small fix in a file you name

You type "Fix the off-by-one in the pager" with src/pager.rs named (120 lines). A change to one or two files you named, 400 lines or fewer in them, in a message under 1,200 characters: rule "small change", 65% sure, so Haiku at medium effort. The card says what it counted: "a change to 1 file (120 lines)".

A change across the code

You type "Refactor the session code across the crates to share one runtime". A word that sweeps ("refactor", "migrate"), a change "across the codebase" or spread over the code, four or more files named, or over 2,000 lines in them: rule "wide", 70% sure, so Opus at high effort.

A stack trace

You paste a panic with its backtrace and "why does this happen?". A stack trace to diagnose: rule "trace", 65% sure, so Sonnet at high effort.

A question about code

You type "How does the uploader decide when to retry?" with the file named. A question, but about code: rule "code question", 60% sure. That's a guess, so it doesn't step down: from Opus it stays on Opus, from Haiku it goes up to Sonnet.

A change of unclear size

You type "Please make the onboarding nicer, I keep tripping over it in so many small ways". A change with nothing to size it: rule "change", 50% sure. A guess: on Haiku it moves up to Sonnet; on Opus it stays.

A long brief

You paste a 3,000-character spec. Long messages are big asks or careful briefs: rule "long", 55% sure. A guess, so it steps up at most to Sonnet, at medium effort.

Going on, and commands

"continue", "yes, go ahead", "try again" (six words or fewer, nothing attached, no files named or code), and anything starting with /: these say nothing of the turn's size, so it stays on the model it's on. Say "ok do it" after Opus planned something, and Opus does it.

A short or unclear message

"Hmm." or "The address field looks odd" gives it nothing to go on: rule "short" or "unclear", 30% sure. With When unsure on Keep the model, the turn stays. Set it to Ask Claude Code (Haiku) and it asks: a short call on your own subscription, a few seconds, its answer on the card with what it took ("asked Claude Code (Haiku): 8.6 s, $0.0027"); Why lists each question it asked and the answer. While it's asked, your message leaves the box and goes once decided.

You picked a model yourself

Choose Opus in the picker for a hard bug: the Router pauses for the model, and your pick stands turn after turn (the effort is still its, unless you pick that too). /model sonnet does the same. Choose Auto (under Magnum) again to hand both back. ⌘P → Pause Magnum Router keeps the session on the model it's on.

Near your plan's limit

Your 5-hour window is 95% used. A wide change would go to Opus, but near the limit the Router doesn't step up: the turn stays where it is, and the card says "near its usage limit: no step up". It still steps down where its rules are sure.

After the first turn

Switching models mid-session means the new one rebuilds the agent's prompt cache. So after the first turn it switches down only when that's cheaper this turn, rebuild and all, at list prices Magnum reads from Pi, the agent, when it's installed here and signed in to the same provider; without Pi, it doesn't switch down after the first turn. Stepping up isn't held back by the cache: the model it's on isn't expected to do the turn.

Workers a lead starts

A worker's first turn is decided from its task, as a message would be: a lead's short "rename userId to accountId in api.ts" can run on Haiku while a sweeping piece runs on Opus. The lead's own messages to it later aren't decided. See Balanced in practice.

Choosing who decides when it can't

Settings → Magnum Router → When unsure:

The second choice, Else, picks who's asked when the first gives no answer. The decision log on that page compares the Router's rules with always staying on one model, on your own turns.