OmniRoute says free AI forever, the fine print says less

The OmniRoute free AI gateway is a local router that points every coding tool at one endpoint and 250 providers. Its headline promises about 1.6 billion free tokens a month and 15 to 95 percent token savings. Both figures are the project’s own math, published in its README and checked by nobody else.
Key Takeaways
- OmniRoute is one local endpoint your coding tools use instead of many providers.
- Nobody outside the project has tested the 1.6 billion free token headline.
- Reaching that number means opening dozens of provider accounts yourself.
- The 15 to 95 percent savings is a range, and the average is a formula.
- Sending work code through unknown free providers is the part to think hardest about.
What is an AI gateway and why route a coding agent through one?
An AI gateway is a proxy that sits between your tool and many model providers. It speaks one API, usually the OpenAI chat completions shape. It then turns each request into whatever the upstream provider expects. Your editor sees one base URL and one key, and the gateway decides who actually answers.
That solves four common problems. Rate limits stall an agent halfway through a task. Every tool needs its own provider setup. Your spend is split across a dozen billing pages. And when a provider goes bad, nothing falls back on its own.
OmniRoute
runs as a process on your own machine. The dashboard lives at http://localhost:20128 and the API at http://localhost:20128/v1. Point Claude Code
, Cursor, or Cline at that URL and the tool can’t tell the difference.
It isn’t the only option either. LiteLLM is the mature open source proxy, OpenRouter is the hosted one you pay for, and Portkey chases big companies. OmniRoute publishes its own comparison against all three, which is a sales document. Here are the numbers from each project’s own docs instead.
| Gateway | License | Catalog it claims | Runs where | Maintainer signal |
|---|---|---|---|---|
| OmniRoute | MIT | 250 providers, 500+ models | Your machine | Top author 3,668 commits, second 214 |
| LiteLLM | MIT, with a separately licensed enterprise/ directory | 100+ providers | Your machine or their cloud | 377 listed contributors |
| OpenRouter | Closed source, commercial | 367 models live on its public API | Their servers | Company backed, 5.5% credit fee |
The project’s age deserves an honest read. The repo is about five months old, and a lot of attention has landed on it in a short time. Attention and production use are separate questions.
Treat the catalog claim with the same caution. The project advertises 250 providers, more than 90 with a free tier, and over 500 models. Nobody outside the project has audited that list. Counts like this inflate easily when regional gateways and resellers each count as one entry.
The OmniRoute free AI token claim and how it is counted
The headline is roughly 1.6 billion free tokens a month in steady state. In your first month it rises to about 2.1 billion once signup credits land. The project says that total covers 40 plus provider pools and 500 plus models. It is a vendor claim, and the README says so in its own words.
To its credit, the project explains the method. Each shared free pool gets counted once instead of once per key, so several resellers fronting the same upstream don’t multiply the total. It is also blunt about the number a looser method would produce: counting every rate limit around the clock would read roughly 10 billion, and the project says it declines to publish that figure .
No pool of tokens arrives when you install OmniRoute. The headline is a sum of free allowances spread across dozens of separate companies. Each one wants you to sign up, verify, and hold an account. The tokens live in those accounts, and OmniRoute only keeps the keys.
Getting anywhere near the headline is therefore an admin project. You face dozens of signups, several of which want a phone number or an ID check, and some of which are blocked by region. Every account then arrives with its own reset date and its own per-minute rate limit.

Rate limits are the real ceiling anyway. A provider offering a million tokens a day at 40 requests per minute can’t be drained by one developer running one agent. And an agent that stalls on a 429 doesn’t care how many tokens are sitting unused somewhere else.
Free tiers are also the least stable product any AI company ships. Allowances get cut, models get retired, and signup credits fire once.
Still, the project shows more of its work than most. Always-free no-cap providers and a paid OpenRouter top-up sit in separate buckets instead of padding the headline. The dashboard also carries a terms flag for each provider.
How to route Claude Code through a local OmniRoute gateway
Install the gateway
Run npm install -g omniroute on Node.js 22 or 24. Docker, an Electron desktop build, and a Termux build exist if you’d rather not install globally.
Start the server
Run omniroute. The dashboard comes up on http://localhost:20128 and the OpenAI compatible API on http://localhost:20128/v1.
Open the dashboard
Visit http://localhost:20128 in a browser and finish the first run wizard. For a terminal-only setup, run omniroute setup instead.
Connect at least one provider
In Providers, add a key for a provider you already pay for. Then add one free tier provider, so the gateway has somewhere to fall back to.
Copy the local API key
Go to Dashboard, then Endpoints, and copy the key OmniRoute generated. Requests to /v1 need it in an Authorization: Bearer header.
Point your coding tool at it
Set the base URL to http://localhost:20128/v1, paste the key, and set the model to auto. Claude Code, Codex, Cursor, Cline, Copilot, and OpenCode all accept a custom OpenAI compatible base URL.
Verify the endpoint answers
Run curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" and confirm your connected models are listed.
Test the fallback before you rely on it
Disable your primary provider in the dashboard, send one request, and read the routing log. Confirm a second provider actually served it.
OmniRoute claims compatibility with 24 plus agents and ships setup-* commands that write each tool’s config for you. The list adds Continue, Aider, and Goose to the tools above.

What auto routing does and where fallback breaks down
In the project’s terms, auto is a chain scored live across your connected providers. Variants shift the priority: auto/coding favors quality, auto/fast favors speed, auto/cheap chases the lowest price, and auto/offline picks whoever has quota left. The README lists 18 routing strategies. They run from plain priority order up to a fan-out that sends one prompt to several models and picks a winner with a judge.

Fallback is the whole selling point, so test it on purpose. A quota-aware fallback that nobody has exercised is still only an assumption.
Expect a few failure modes. A provider can return a 200 with weak output instead of an honest error. Model IDs also fail to map cleanly from one provider to the next. Tool calling and structured output are not supported the same way everywhere. Streaming behavior differs enough to confuse an agent mid task.

The deeper version of that problem is model quality. Anything routed to an unknown small provider gets answered by an unknown small model, and the reply can be much worse. A coding agent downgraded halfway through a session, with no warning to you, does more damage than one that stops.
An agent can also drive OmniRoute directly. It exposes an MCP server over stdio, HTTP, and SSE with a claimed 94 tools, plus an A2A endpoint at /.well-known/agent.json. Through those, an agent can rewire its own routing. That loop gets a whole chapter in one open source agent book
.
The 15 to 95 percent compression claim and what that range hides
OmniRoute advertises 15 to 95 percent token savings from a stack of 10 compression engines that rewrite prompts before they leave your machine. The project puts the average at roughly 89 percent on tool-heavy sessions. A range that wide covers every result the pipeline has ever produced, across all settings and all kinds of input.
| Preset | Claimed saving | Best suited to |
|---|---|---|
| Lite | ~15% | Whitespace and image URL trimming, always on |
| Standard (Caveman) | ~30% | Daily coding prose |
| Aggressive | ~50% | Long tool-heavy sessions |
| Ultra | ~75% | Maximum savings |
| RTK | 60 to 90% | Shell, test, build, and git output |
| Stacked (RTK then Caveman) | 78 to 95% | Mixed prompts plus tool logs |
The 89 percent average comes out of a formula. The README publishes the math openly: 1 - (1 - 0.80) * (1 - 0.46) = 89.2%. That stacks two assumed per-engine rates instead of reporting a benchmark on real sessions.
The phrase carrying the weight is “eligible tokens”. Code blocks, URLs, JSON, and other structured data are always shielded by the preservation engine , which means none of it counts toward the saving.
Consequently, a request that’s mostly source code offers little eligible surface and sees little of the advertised saving. The prompts that compress best are the ones full of shell output and log noise.
One trade goes unadvertised. Prose compression rewrites your prompt before the model reads it. The README’s own example turns a 69 token explanation into 19 tokens of clipped notes. A human reads those two versions the same way, while the model receives two different inputs. Fidelity loss is real, and how much it costs you depends on the workload.
Compression also fights prompt caching. Rewriting the front of a conversation invalidates cached tokens at providers that bill cached input at a discount. On a long session that can cost more than the tokens you saved.
The project does ship guards against its own pipeline. An inflation guard throws away a compressed result if it grew the prompt. An opt-in offline eval harness, npm run eval:compression, scores fidelity against savings on a pinned corpus. So the tooling to check the claim exists, yet the published numbers still come from the vendor running it.
The risk of routing your code through 250 third parties
Your prompts are your source code. Route an agent through a gateway and every file it reads, plus every diff it writes, can leave your machine. It all goes to whichever provider won that routing decision. Free tier providers are the least likely of any to publish a clear policy on keeping or training on your data.
The gateway itself is local, and the project makes real privacy commitments . Keys are sealed with AES-256-GCM at rest, telemetry is off by default, and no OmniRoute cloud sits in the request path.
Local-first protects the key store. It does nothing about where the prompt ends up.
Terms of service is the risk the README skips, and several shipped features point straight at it. Quota-Share splits one plan’s quota across several keys and teammates. Some providers connect by web session cookie instead of an API key. One flow imports a raw ChatGPT access token. The project advertises TLS fingerprint stealth (JA3 and JA4) plus a transparent MITM proxy for CLIs that ignore proxy settings.
Nobody has to accuse anyone here. You only need traffic that looks like an official client when the provider would otherwise say no. Most consumer AI plans ban both seat sharing and scripted access outside the official app. Anthropic’s consumer terms say it plainly.
You may not share your Account login information, Anthropic API key, or Account credentials with anyone else or make your Account available to anyone else.
The same terms bar reaching the service through a bot or script unless you hold an API key. OpenAI’s terms of use set a similar limit on sharing logins or letting others use your account. The usual penalty is a ban, and the banned account is yours. The project pays none of that.
Ninety accounts also means ninety credentials in one encrypted store on one laptop, so one compromised machine hands over the lot. And the gateway is a dependency in its own right: OmniRoute moved from v3.8.20 to v3.8.47 in one recent stretch, so pin a version for anything you rely on.
Who should run OmniRoute and who should skip it
Two groups get real value from it. Hobbyists and side project developers want agents that keep working after a paid quota runs out, and they’re fine with Node and Docker. They also treat provider access as throwaway, which is what free tier stacking assumes.
Then there are people already paying for several providers who want one endpoint, one spend view, and real failover. That use touches none of the free tier stacking, and it’s the version most likely to survive a security review.
Two groups should walk away. Anyone routing employer source code or client work has a data question to answer before a technical one. And anyone who wants the headline token number without the account admin will be let down, because that admin is the product.
If you need a gateway your compliance team can approve this quarter, LiteLLM is the boring answer. OmniRoute is the interesting one, which in infrastructure is rarely a compliment.
Botmonster Tech