Model or dataset
decolua/9router avatar
decolua/9router

9Router: A Free-Tier Aggregator for AI Coding Tools, With Token Compression Built In

Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.

32,375 stars6,339 forksJavaScriptMIT

At a glance

What is it?
9Router is an open-source gateway that connects Claude Code, Cursor, Cline and similar tools to 40-plus AI providers, prioritizing free and cheap tiers. Its RTK token saver compresses tool output to cut usage, but the project's claims about 'unlimited free' need careful verification.
Who is it for?
9Router suits developers who juggle multiple AI coding tools and want a single local endpoint that can route to free or low-cost providers, especially those already paying for subscriptions that they do not fully use. It is not for teams that need guaranteed enterprise-grade reliability or that cannot tolerate a third-party proxy handling their API keys and prompts.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • decolua/9router32,375 ★ · +4,066
Star history
Repository2026-09-102026-11-13
decolua/9router28.3k32.4k

4,066 Stars in the last 64 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What 9Router Actually Solves

9Router addresses a specific pain: developers who use AI coding assistants such as Claude Code, Cursor, Cline, Codex and Copilot often hit per-provider rate limits or burn through subscription quotas before the month ends. The project's pitch is to stop that waste by routing each request through a local gateway that sits between your CLI tool and the model provider. The gateway can pick from a tiered list: subscription-based services first, then cheap pay-as-you-go models, then free providers. The README gives concrete examples: Claude Code, Codex and GitHub Copilot as tier-one subscription examples. The intended user is an individual developer or small team that wants to keep coding without watching token counters, not an enterprise that needs formal SLAs.

The Routing Architecture and Data Flow

The architecture is straightforward. Your CLI tool points at a local endpoint, http://localhost:20128/v1, which is OpenAI-compatible. 9Router receives the request, then performs two main jobs. First, it translates the request format between OpenAI and Claude dialects so that a tool built for one API can talk to a provider that expects the other. Second, it applies RTK, which the README describes as auto-compressing tool_result content to save 20-40% of tokens per request. The router also tracks quota usage per provider and can refresh tokens automatically. The fallback logic is tier-based: it tries the subscription tier, and when quota is exhausted it moves to the cheap tier, and then to the free tier. This means a single request can fail over between providers mid-conversation, which is useful but also raises questions about context continuity.

Installation and First Run

The quick start path is an npm global install. Run npm install -g 9router, then execute 9router. A dashboard opens at http://localhost:20128. From there you connect a provider. The README highlights Kiro AI, which it claims gives roughly 50 free credits per month for Claude 4.5, GLM-5 and MiniMax, and OpenCode Free, which it says needs no authentication. After connecting, you copy an API key from the dashboard and configure your CLI tool with the endpoint and key. The model identifier format includes a provider prefix, for example kr/claude-sonnet-4.5. If you prefer to run from source, the repository package is private, so the expected path is to clone, copy .env.example to .env, run npm install, then start the dev server with PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev. Production mode uses npm run build and then npm run start with PORT, HOSTNAME=0.0.0.0 and NEXT_PUBLIC_BASE_URL set. The dashboard and API live on the same port..

The RTK Token Saver: Mechanism and Caveats

RTK is the project's most distinctive feature. The README says it auto-compresses tool_result content, which in a coding tool context means the output of commands like git diff, grep, or ls. Those outputs are often verbose and repetitive, and they consume tokens every time the model sees them. Compressing them before sending to the provider could reduce input size substantially. The claimed savings are 20-40% per request. If the compression strips context that the model needs to reason about code, the quality of responses could drop. The release notes mention cached token tracking in v0.5.18, which suggests the project is actively refining how it counts tokens, but nothing here verifies the actual savings on real workloads. A user should test RTK on their own typical tool output before trusting the percentage.

Provider Coverage and the 'Free' Reality

The README claims access to 40-plus providers and 100-plus models, including Claude, GPT and Gemini. The release notes add specifics: v0.5.35 introduced Grok Imagine video and a Copilot Claude route, and v0.5.20 added a thinking level picker and suffix support across providers. That breadth is the project's main draw. Yet the word 'free' needs scrutiny. The README lists free tiers like Kiro's 50 monthly credits and OpenCode Free with no auth, but those are third-party services that can change terms or shut down. The router cannot create free capacity where none exists; it merely aggregates existing free offers. Also, 'unlimited free' in the tagline is contradicted by the tiered fallback design, which implies that free resources are limited and that cheaper paid models are the backup. The realistic value is not unlimited free access but rather automatic movement between whatever free quota exists and low-cost paid models, which can reduce monthly spend if you would otherwise pay full price for a single provider.

Security and Operational Trade-offs

Running 9Router locally means all your API keys and prompts pass through a local proxy, but the proxy itself is an npm package that you install globally. That gives it access to your system and your keys. For a tool that handles sensitive source code and credentials, review how keys are stored before relying on it. Also, because the router translates formats and compresses content, it sits in the middle of every request, which adds latency and a potential point of failure. The fallback logic is designed to reduce downtime, but it only works if the providers you configured are actually reachable. If the router crashes or the local port is busy, your CLI tool loses its connection. The project is MIT-licensed, which means you can inspect and modify the code, and the README notes that this repository's own package (9router-app) is private, so source or Docker execution is the expected local development path.

Maintenance, Licensing, and Upgrade Cost

The repository shows a steady release cadence: v0.5.18 in early July 2026, v0.5.20 a few days later, and v0.5.35 by mid-July, with a last push in October 2026. That suggests active development, and the feature list changes frequently, which is good for innovation but bad for stability. Each release can change routing behavior, provider support, or configuration formats, so upgrades require reading release notes and re-testing your setup. The license is MIT, which gives you freedom to use, modify, and redistribute, but it also means there is no warranty or support obligation. The project has a homepage and Docker images, so deployment options exist beyond npm.. For a tool that sits in your coding workflow, the maintenance cost is ongoing: you must track releases, verify that your preferred free providers still work, and adjust your configuration when provider APIs change. That is a real operational burden, even for a free tool.

Alternatives and Where 9Router Fits

The most direct alternative is LiteLLM, a widely used open-source proxy that also exposes an OpenAI-compatible endpoint and routes to many providers. The key difference is that 9Router builds in free-tier fallback and an RTK token-compression layer. Another alternative is to use each provider's native CLI or API directly, which avoids the middle layer entirely but forces you to manually switch between tools when you hit limits. 9Router's niche is the combination of auto-fallback across subscription, cheap, and free tiers, plus the RTK compression that targets the specific token waste of coding tool outputs. If you already use LiteLLM or direct provider connections and do not mind manual switching, 9Router may be redundant. But if you want a single endpoint that tries to use your existing subscriptions before spending money, and you are willing to trust a third-party router with your traffic, it offers a different value proposition that those alternatives do not match.

Editorial conclusion

9Router suits developers who juggle multiple AI coding tools and want a single local endpoint that can route to free or low-cost providers, especially those already paying for subscriptions that they do not fully use. It is not for teams that need guaranteed enterprise-grade reliability or that cannot tolerate a third-party proxy handling their API keys and prompts. Before adopting it, verify the actual availability and rate limits of the free providers it lists, test the RTK compression on your own workloads to confirm the 20-40% token savings, and check the project's recent commit history and issue tracker to ensure active maintenance. The 2026 release dates and frequent version bumps suggest momentum, but the README's promotional tone means you should treat headline numbers as targets, not promises.

Frequently asked questions

What does 9Router do?

9Router is a local proxy that coding tools such as Claude Code, Codex, Cursor, Cline and OpenClaw point at instead of a provider. It accepts requests on an OpenAI-compatible endpoint at http://localhost:20128/v1, translates between the OpenAI and Claude request formats, compresses tool_result content to cut tokens, tracks quota, and falls back from subscription accounts to cheap ones to free ones.

How do I install 9Router?

Run `npm install -g 9router` and then `9router`, which opens the dashboard at http://localhost:20128. Add a provider from the dashboard, either Kiro AI, described as roughly 50 free credits a month, or OpenCode Free, which needs no authentication. A container image is also published as decolua/9router.

How do I use 9Router with Claude Code?

Set the endpoint to http://localhost:20128/v1, paste the API key copied from the dashboard, and use a model name such as kr/claude-sonnet-4.5. The same three settings are used in Codex, Cursor, Cline and OpenClaw.

Which providers can 9Router connect to?

The documentation describes 40+ providers and 100+ models, and names Kiro AI and OpenCode Free as the free options that need no signup. Subscription-tier accounts named in the routing diagram are Claude Code, Codex and GitHub Copilot, with round-robin between multiple accounts of the same provider.

Is 9Router free?

The package is MIT licensed and installs from npm, so the router itself carries no licence fee. The free capacity comes from provider credits rather than from the router, and the documented fallback order runs from subscription to cheap to free.

Official sources

  1. decolua/9router on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/decolua-9router.svg)](https://hysenlabs.com/projects/decolua-9router)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/decolua-9router.svg)](https://hysenlabs.com/projects/decolua-9router)

Was this useful?