My Agent OS had an OmniRoute tab. It's now a Free AI Coder — same panel, but a dropdown switches the engine underneath: OmniRoute for anonymous free models, or 9Router for 573 models routed through the subscriptions you already pay for. Same chat, same live preview, same workspace. Here's the build, the proof, and the setup.

Same section, better idea.
A free-coding tab shouldn't be married to one router — routers come and go, free tiers rotate, quotas dry up.
So the section is now named after the job (code for free) and the engine became a setting.
Pick OmniRoute · free pool and you get anonymous free models with no keys at all.
Pick 9Router · 573 models and it routes through the logins you already own — Claude Code, Codex, Copilot, Cursor — plus its own free tiers.
The status pill, the placeholder text, the base URL in the setup panel and the GitHub link all follow your choice. Your pick survives a refresh.
OmniRoute exposes a local OpenAI-compatible endpoint on port 20128 with a pool of genuinely free providers — no keys, no accounts, nothing to connect.
That's why it stays the default: you open the tab and type.
The trade-off is honest — free providers rate-limit, so the route walks a fallback chain (big-pickle first, then the auto tiers) until one answers.
9Router is a local proxy over 40+ providers, and I counted 573 models on my machine after install.
The clever part isn't the count — it's that it routes your existing OAuth sessions: Claude Code, Codex, GitHub Copilot, Cursor. Frontier models with no extra API spend, because you already pay the subscription.
It adds automatic fallback across subscription → cheap → free tiers, plus tool-output compression to stretch quotas further.
Every build below came out of the new Free AI Coder route on the free engine, then got rendered and eyeballed before it went in the workspace.
That one sits in the workspace gallery, so it survives a refresh and reopens with one click.
I also asked it for a neon Breakout game. It produced a beautiful 21KB file — and the game was frozen.
The automated playtest caught it: no JavaScript errors, but the lit-pixel count moved 2405 → 2409 across five seconds of pressing SPACE and the arrow keys. Dead on arrival.
The cause was one missing line: its animation loop self-scheduled correctly but nothing ever made the first call, so the loop was never entered.
That's the honest shape of free-tier coding. You get real output fast, and roughly one build in three needs a fix round — which is why the panel keeps the conversation, and why the second engine exists for when the free pool is throttling too hard to do the fix.
The rule I hold myself to: a screenshot is not a test. Anything that renders still gets played before it's called working.
The honest bit: free providers throttle. One of my three demo prompts hit repeated 503s and I stopped rather than pretend it worked — that's exactly when you flip the dropdown to 9Router and let your own subscription carry it.
I run 9Router on 20129 so it can't collide with OmniRoute on 20128 — both engines stay live at once and the dropdown is instant.
npm install -g 9router
9router -p 20129 -H 127.0.0.1 -n
The -H 127.0.0.1 matters: by default it binds 0.0.0.0 and announces itself on your local network. Keep it on localhost.
9Router ships a dashboard at http://127.0.0.1:20129. Connect Claude Code, Codex, Copilot or a free tier once — it stores the sessions locally and every model behind them lights up in the Agent OS.
Until you do, the coder answers with a plain-English hint instead of a stack trace. That was deliberate: mine said "9Router answered but no provider is connected yet" the first time I tried it.
I registered it as a LaunchAgent with KeepAlive, so it starts at login and restarts itself if it ever dies. The Agent OS pill goes green on its own — nothing to remember, nothing to babysit.
Before
Every time a better free router dropped, I rebuilt a whole section of the OS around it.
New tab, new API route, new panel, new bugs.
And when a free tier throttled mid-build, the section was just… stuck. No second lane.
The tab was named after a vendor, so it aged the moment the vendor did.
Then I renamed it after the job and made the engine a dropdown.
After
Now the section is Free AI Coder, permanently.
OmniRoute when I want zero setup, 9Router when I want my own frontier logins doing the work.
When a provider throttles, I flip one dropdown instead of rebuilding a tab.
Adding a third engine later is one entry in a map — not a rebuild.
System over vendor. That's the whole lesson of this build.
I run an agency with 70+ people where AI handles roughly 80% of operations, and I build this Agent OS in public every single day — then bench every model that plugs into it at goldiebench.com.
No invented quotes — the wins are members' own words, 158 pages of them.
Read the 158-page wins doc →Install one of these routers and give it a single real prompt before bed.
Not a "hello world" — something you'd actually use. A calculator for your pricing. A countdown for your launch. A dashboard tile.
Because the moment you see a working app appear from a $0 model on your own machine, the way you think about tooling budgets changes permanently.
One router. One prompt. One thing you keep.
You could wire two routers and a dropdown yourself this afternoon. Or get the whole operating system where it already lives — alongside everything else I run my business on.
It's the operating system I run a seven-figure business on. You get the whole thing.
Get the Agent OS →This build is the answer in miniature. The everyday 90% runs through free routers like these two — OmniRoute's free pool costs nothing and needs no keys, and 9Router bills nothing extra because it rides the subscriptions you already pay for. Add a free local model for offline work and the marginal cost of a day's coding is zero. The Boardroom's token-minimisation playbook squeezes the rest.
Wrong: "Free coding models are too weak to build anything real."
Right: The Breakout game above — particles, HUD, level ramp, 21KB in one shot — came from a free model through this panel. Judge the output, not the price.
Wrong: "Routers mean handing my keys to a middleman."
Right: Both of these run on your machine, on localhost. 9Router stores sessions in a local folder; nothing leaves your Mac except the model call you'd have made anyway.
Wrong: "I'll wait for the one router that wins."
Right: None of them wins for long. That's why the engine is a dropdown now — the section outlives whichever router is currently best.
158 pages of members building with this stack, in their own words.
Read the 158-page wins doc →Two local routers, one dropdown, 573 models, and a live preview that saves everything it makes. That's the free coder — and it's one tab in a much bigger machine.
Come get the whole Agent OS, the daily tutorials, the weekly coaching calls, and 4,000+ founders who'll answer when you're stuck.
Join the AI Profit Boardroom →Install one router tonight, ship one build, then flip the dropdown and feel the difference. I'll see you in the next one.