MOOTER · HOME · DES. 001ESC 1:1 · REV v1.53.0 · 2026-08-27
Open source · MIT · v1.53.0 · classify.js unchanged 19 waves

GotMoo?

The router for Claude Code. Local-first. Learns forever.

Spawns agents safely by default.

Your GPU, your subscriptions, your local models — you're already paying for a powerful AI stack. But Claude Code defaults to Opus for everything, even renaming a variable. Mooter maps your full environment and routes every prompt to the optimal model — 101/123 classified prompts went to a local or cheap tier. No tokens are logged, so there is no measured dollar figure — and we publish none. See the benchmark *

For a vibe coder on a Max plan: renames, commits & explains run local (free); debugging & refactors go cloud — so the free/cloud split shifts with the work the day brings, not with a fixed ratio. Estimate yours →

Install in 30s →Sign in with GitHub
Hook, not a proxy Runs locally classify 0.001 ms p50
mooter · live routingyour code stays localT0local · free
$ claude "make this button rounded"
├─ classify 8ms · intent=edit complexity=low
├─ profile GPU=RTX 4090 sub=claude-max
├─ pack code-base (trust 98)
└─ route → qwen2.5-coder:7b (local) (over opus, saves $0.04)
cost $0.000 · TRIVIAL
routed cheap 101/123 · T0 local · conf 0.84 · pack: diagram-systems
▓▓▓▓░░░░░░ 42% 5h · ▓▓░░░░░░░░ 18% 7d · ↺ 2h14m
ctx 23% · adapter — baseline · mooter forge install · $0.04 turn · alltime $4.21
*illustrative — your numbers vary
measured1 machine1 dev (Paulo) — not a herd average
routed to cheap
82.1%
101/123 classified prompts
ran locally
1
of 3225 executions
cost measured
none
no tokens are logged — so no $ is claimed
packs installed
3
data · diagram · voice
honest numbers123 prompts2026-08-20T14:53Z2026-08-23T17:15Z

Honest numbers

On 2026-08-23 an audit traced every savings figure this project had published. Five were in circulation and they contradicted each other; none survived. The cause is structural and worth stating plainly: no telemetry file in this project records token counts. Without tokens there is no measured cost, and without a measured cost there is no measured saving — in any unit.

What is measured. The router recommended a local or cheap tier for 101 of 123 classified prompts (82.1%). In those same sessions, of the 3225 recorded executions, 3193 ran on Opus and 1 ran locally.

That gap — what the router recommended against what actually ran — is the honest state of the project, and closing it is the current work. No tokens are logged, so there is no measured dollar figure — and we publish none. A percentage published on top of this would describe a product that does not exist yet.

How the estimate is built, and what it is not →

§ live · same prompts, two bills

Same prompts. Comparable quality on routine tasks.
Two bills, line by line.

The exact same six prompts, streamed into both at once. The hard one — the schema migration — stays on Opus on both sides. Mooter only routes down when quality holds.

claude · vanillaeverything → opus
$
running cost$0.00
claude + mooterrouted
$
running cost$0.00
$1.17 vanilla → $0.62 routed
*Illustrative trace — this six-prompt demo measures nothing. What IS measured: 101/123 classified prompts routed to a local or cheap tier. No cost is claimed: no tokens are logged.
how it works11 passesregex · zero ML

Your GPU, your subscriptions, your local models — you're already paying for a powerful AI stack. But Claude Code defaults to Opus for everything, even renaming a variable. Mooter maps your full environment and routes every prompt to the optimal model: comparable quality on routine tasks, a fraction of the spend.

For a vibe coder on a Max plan: renames, commits & explains run local (free); debugging & refactors go cloud — so the free/cloud split shifts with the work the day brings, not with a fixed ratio. Estimate yours →

routed to cheap
82.1%
101/123 classified prompts
ran locally
1
of 3225 executions
cost measured
none
no tokens logged — no $ claimed
packs installed
3
data · diagram · voice
From the author's machine — 1 dev (Paulo). Real numbers, not a community average. Opted-in herd telemetry rolls out separately — these are one machine's numbers.

Why a local model is good enough

See the benchmarks →
The handoff

Never wake up lost

How it stays honest →

The real cost of agentic coding is not tokens — it is opening ten terminals and having no idea where you left off. Mooter closes every session with an honest handoff: what landed, what did not, and the one thing to do next. So you recover your time instead of drowning in context.

Honest summaries

After every session Mooter writes what actually happened — and what is still unlanded. It never says “clean” when there is work waiting to ship. No false green.

Auditable memory

Every decision gets recorded — which tier, why, what it cost. The local GPU does the writing, so the record itself costs $0. Nothing is taken on trust.

The time back

Glance and know what to do next. No re-reading diffs, no archaeology across terminals. You pick up exactly where you left off — that is the time you get back.

moo handoff — end of session
$ session ended · feat/site-handoff-story
build green · diff shown
not landed — needs your OK to deploy
next → review diff · merge · deploy
written locally · $0 · recorded to memory
Illustrative — your summary reflects your real session, never a canned “all clean”.
Qualitative by design — the handoff's worth is the time you don't lose, not a number we could fake.
Demo data — connect mooter to see real numbers
Prompts routed
growing
be one of the first 50
Active devs

*Illustrative — real community numbers appear once devices start phoning home.