# 9Router review

> 9Router is a local AI router that connects coding tools like Claude Code, Codex, Cursor and Cline to many AI providers through one OpenAI-compatible endpoint.

Devtoolwatch Board, the week of Oct 25–31, 2026. Canonical page: https://index.devtoolwatch.com/tools/decolua-9router/

## TL;DR

9Router is a self-run gateway between AI coding tools and many model providers. It is for developers who use several subscriptions or API keys and want automatic fallback when quotas run out. It falls back from subscription to cheap to free tiers, translates request formats, and compresses tool outputs to cut tokens.

## 9Router at a glance

- **Category:** [Inference and training](https://index.devtoolwatch.com/categories/inference-and-training/)
- **Maintained by:** decolua (individual, [@decolua](https://github.com/decolua) on GitHub)
- **License:** MIT
- **Language:** JavaScript, CSS, PowerShell
- **Repository:** [github.com/decolua/9router](https://github.com/decolua/9router)
- **Website:** [9router.com](https://9router.com)
- **npm package:** [9router](https://www.npmjs.com/package/9router) 0.5.104
- **Latest release:** [9router 0.5.104](https://www.npmjs.com/package/9router) on npm, Oct 15, 2026
- **First published:** Jan 5, 2026

## What 9Router does

- 9Router routes requests through a 3-tier fallback, from subscription to cheap to free models, when quota runs out or errors occur.
- 9Router translates request formats between OpenAI, Claude, Gemini, Cursor, Kiro and Vertex, so different CLI tools can use any connected provider.
- 9Router's RTK Token Saver compresses tool outputs like git diff, grep and ls before they reach the model. It is on by default.
- 9Router tracks quota per provider in real time, with reset countdowns and cost estimates for paid tiers.
- 9Router supports multiple accounts per provider with round-robin load balancing and refreshes OAuth tokens automatically.
- 9Router lets you build custom combos that chain models into one virtual provider with automatic fallback.
- 9Router also serves embeddings, text-to-speech, speech-to-text, image, video, web search and web fetch through OpenAI-compatible endpoints.

### How it works

9Router runs as a local server with a web dashboard at http://localhost:20128. You connect providers in the dashboard with OAuth or API keys. Then you point a CLI tool at http://localhost:20128/v1 with an API key copied from the dashboard. 9Router compresses tool outputs, translates formats, tracks quota and routes each request to a provider tier. It can run on localhost, a VPS, Docker or Cloudflare Workers.

## How to install 9Router

**Install globally with npm**

```
npm install -g 9router
```

**Start the server**

```
9router
```

**From source, install dependencies**

```
npm install
```

### Requirements

- Node.js 18.0.0 or later
- Accounts, OAuth logins or API keys for the providers you want to route to

### First steps

1. Install 9Router with npm and run 9router. The dashboard opens at http://localhost:20128.
2. In the dashboard, go to Providers and connect a provider such as Kiro AI or OpenCode Free.
3. In your CLI tool settings, set the endpoint to http://localhost:20128/v1 and paste the API key from the dashboard.
4. Pick a model name such as kr/claude-sonnet-4.5 and start coding.

## Who 9Router is for

- Developers who hit rate limits in Claude Code, Codex or Cursor and want automatic fallback to other models.
- Developers with several subscriptions or API keys who want them behind one OpenAI-compatible endpoint.
- Teams that want to reduce token use from large tool outputs in agent sessions.
- Developers serving speech or embeddings from their own servers, such as whisper.cpp or vLLM.

### Limitations

- Free tiers change over time. The iFlow, Qwen Code and Gemini CLI free tiers were discontinued in 2026, and the OpenCode Free model list fluctuates.
- Kiro AI's free tier is capped at 50 credits per month. Paid tiers start at Pro, $20 per month.
- The MITM bridge intercepts IDE traffic from Antigravity, Copilot and Kiro. The homepage warns users to mind each tool's policy.
- Self-hosted Embedding has no cloud fallback by design. A connection without a baseUrl is reported as a configuration error.

## Usage data (the week of Oct 25–31, 2026)

- Board rank: #47 overall, #8 in Inference and training, momentum score 76
- Downloads that week: 108.8k (+84% vs 4-week average)
- New GitHub stars per week (last 12 weeks): Aug 9: 534; Aug 16: 585; Aug 23: 588; Aug 30: 566; Sep 6: 1.4k; Sep 13: 834; Sep 20: 507; Sep 27: 421; Oct 4: 364; Oct 11: 451; Oct 18: 460; Oct 25: 456

## 9Router alternatives

| Rank | Tool | Stars | Downloads/wk |
|---|---|---|---|
| #1 | [dsh-our-free-model](https://index.devtoolwatch.com/tools/ebony-vinyl-dsh-our-free-model/) | 54.3k | – |
| #2 | [magpie](https://index.devtoolwatch.com/tools/yetone-magpie/) | 26.9k | – |
| #3 | [Strata](https://index.devtoolwatch.com/tools/niko1221-strata/) | 37.1k | – |
| #4 | [edge0](https://index.devtoolwatch.com/tools/edge0-ai-edge0/) | 8.9k | – |
| #5 | [OmniRoute](https://index.devtoolwatch.com/tools/diegosouzapw-omniroute/) | 83.2k | 106k |
| #6 | [CLIProxyAPI](https://index.devtoolwatch.com/tools/router-for-me-cliproxyapi/) | 57.1k | – |

## 9Router FAQ

### Is 9Router free and open source?

Yes. 9Router's source code is on GitHub (decolua/9router) under the MIT license, so you can use it for free.

### How do I install 9Router?

Run `npm install -g 9router`. It needs Node.js >=18.0.0. The install section above has the other options from the project's README.

### Is 9Router still maintained?

Yes. The decolua/9router repository was last updated on Oct 15, 2026, and the latest release, 9router 0.5.104 on npm, came out on Oct 15, 2026.

### How popular is 9Router?

9Router has 31.8k GitHub stars as of Nov 1, 2026. It gained 456 new stars in the week of Oct 25–31, 2026, against a 12-week average of 598 a week. Its main package had about 108.8k downloads that week, +84% against its own 4-week average. That made it #8 among LLM inference and training tools on the Devtoolwatch Board.

### 9Router vs OmniRoute: how do they compare?

9Router and OmniRoute are both tracked by Devtoolwatch as LLM inference and training tools. 9Router has 31.8k GitHub stars and OmniRoute has 83.2k. In the week of Oct 25–31, 2026, 9Router's main package had 108.8k downloads and OmniRoute's had 106k. OmniRoute is an open-source AI gateway that routes requests across many model providers through one OpenAI-compatible endpoint, with automatic fallback. [OmniRoute review](https://index.devtoolwatch.com/tools/diegosouzapw-omniroute/)

### 9Router vs LiteLLM: how do they compare?

9Router and LiteLLM are both tracked by Devtoolwatch. 9Router has 31.8k GitHub stars and LiteLLM has 62.5k. In the week of Oct 25–31, 2026, 9Router's main package had 108.8k downloads and LiteLLM's had 23.1M. LiteLLM is an open source AI gateway and Python SDK that calls 100+ LLM providers through one OpenAI-format interface. [LiteLLM review](https://index.devtoolwatch.com/tools/litellm/)

### What are the best alternatives to 9Router?

Other LLM inference and training tools on the Devtoolwatch Board in the week of Oct 25–31, 2026, by momentum: dsh-our-free-model (#1), magpie (#2), Strata (#3), edge0 (#4), OmniRoute (#5). The alternatives table above has their numbers.

### How does 9Router work?

9Router runs a local server that your coding tool calls at http://localhost:20128/v1. It compresses tool outputs, translates between request formats, tracks quota, and routes each request to a subscription, cheap or free provider tier. When quota runs out or errors occur, it switches to the next tier automatically.

### How do I use 9Router with Claude Code?

To use 9Router with Claude Code, start 9Router and connect a provider in the dashboard. Then set Claude Code's endpoint to http://localhost:20128/v1, paste the API key from the dashboard, and choose a model such as kr/claude-sonnet-4.5.

### How do I use 9Router with Cursor?

Cursor uses the same setup as other tools. Set the endpoint to http://localhost:20128/v1, use the API key copied from the 9Router dashboard, and pick a model name. The homepage says per-tool setup guides are included.

### Can I turn off 9Router's token savers for one request?

Yes. Send the header X-9Router-Token-Saver: off to bypass all token savers for one chat request. RTK can also be toggled in Dashboard → Endpoint settings.

### Does 9Router work with Antigravity and GitHub Copilot?

Yes. Antigravity and GitHub Copilot are listed as supported OAuth providers. The MITM bridge can intercept Antigravity, Copilot and Kiro IDE traffic to call other backends through 9Router. The homepage advises minding each tool's policy.

## Sources

1. [decolua/9router on GitHub](https://github.com/decolua/9router)
2. [9Router README](https://github.com/decolua/9router/blob/master/README.md)
3. [9router on npm](https://www.npmjs.com/package/9router)
4. [9Router website](https://9router.com)
5. [Release v0.5.35 (Jul 16, 2026)](https://github.com/decolua/9router/releases/tag/v0.5.35)
6. [Release v0.5.20 (Jul 7, 2026)](https://github.com/decolua/9router/releases/tag/v0.5.20)
7. [Release v0.5.18 (Jul 3, 2026)](https://github.com/decolua/9router/releases/tag/v0.5.18)
8. [Devtoolwatch Board, the week of Oct 25–31, 2026](https://index.devtoolwatch.com/)
