GitHub

Make your Max plan
last the whole week.

ModelRouter routes every task to the cheapest Claude model that can nail it, and says so out loud, every time.

Install with one command
claude plugin marketplace add Scylla23/modelrouter && claude plugin install router@modelrouter
the demo

What you get.

Every route, announced.
haiku-worker · Fix typo teh->the NOTES.md · /router:redo to escalate

Printed by a hook, not by the model, so the announcement never depends on the model remembering to speak up.

An undo button.
sonnet-worker · Fix typo teh->the NOTES.md · /router:redo to escalate

/router:redo re-runs the last routed task one model tier up. No arguments, no ceremony.

A router that learns.
escalated to opus · learned rule: auth files (2026-07-12)

Corrections become dated rules in ~/.router/memory.md. A hook enforces them on future delegations, and announces every escalation it makes.

The payoff.

🎯 ~70% of Opus quota saved this week

── router · stats ────────────────────────────────────────────
  this week: 23 routed · 2 redos · 1 rule escalation
  haiku    ▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░  12  52%
  sonnet   ▓▓▓▓▓▓▓░░░░░░░░░░░░░░░   7  30%
  opus     ▓▓▓░░░░░░░░░░░░░░░░░░░   3  13%
  fable    ▓░░░░░░░░░░░░░░░░░░░░░   1   4%
  down-routed 83% · redo rate 9%
── what I've learned about you ─────────────────────────────
  2026-07-12: test file updates → haiku (mechanical test edits)
  2026-07-12: auth files → opus (redone twice from haiku)
  2026-07-12: api handlers → sonnet (implementation, not architecture)
────────────────────────────────────────────────────────────
Rendered by /router:stats from a seeded 14-day routing log. 23 routed tasks in the pictured week; sample numbers, not a benchmark. Re-derive the headline yourself from the cost weights in scripts/stats.js.

How it works.

No proxy, no man-in-the-middle, no API-key middleman.

Deep dive: docs/how-it-works.md

A rubric picks the tier.

On every prompt, a hook injects a short routing directive: delegate each task to the cheapest capable worker, each pinned to its model.

A hook enforces your learned rules.

Before a delegation runs, it is checked against your learned rules. When one calls for a bigger model, the delegation is rewritten upward. Never downward.

Skills escalate a single turn.

Architecture-shaped requests auto-invoke a skill that runs the rest of the turn on a bigger model. Visibly, and it reverts on the next prompt.

Install.

Everything the router knows lives in two local directories you can open in any editor. Nothing leaves your machine. No API keys, no dependencies, no configuration.

Install with one command
claude plugin marketplace add Scylla23/modelrouter && claude plugin install router@modelrouter