Multi-subscription router · Tauri desktop app

Merge every AI coding plan into one virtual subscription

Stacked subscriptions but Claude Code can only talk to one vendor at a time? cc-router pools quota from 24 providers — DeepSeek, GLM, Kimi, MiMo, MiniMax, Qwen, Gemini and more — into one virtual plan: sequential, round-robin or sticky, with automatic failover when one hits its rate limit.

MIT open sourcemacOS · Windows · LinuxLocal proxy · data stays on device
DeepSeek GLM Kimi MiMo Qwen 24 providers → 1 plan
How it works

The whole picture, in one sketch

Many clients → three API protocols → cc-router → 24 upstreams.

Clients
Anthropic-protocol clients
Claude Code · Claude Desktop
Codex clients
Codex CLI · Codex App
OpenAI-compatible clients
Open WebUI · Cherry Studio
API entry points · three protocols
POST /v1/messages
Anthropic Messages
POST /v1/responses
OpenAI Responses
POST /v1/chat/completions
OpenAI Chat Completions
Local proxy
cc-router
127.0.0.1:23456
  • 5 virtual model slots
  • Sequential / round-robin / sticky
  • Auto-switch on rate limit or error
Upstream plans & APIs
  • DeepSeek
  • Zhipu GLM
  • Moonshot Kimi
  • MiniMax
  • Xiaomi MiMo
  • Alibaba Bailian
  • Google AI Studio
24 built-in providers + 5 kinds of custom endpoint
Features

One local proxy. Every coding plan you own.

cc-router spins up a local proxy that serves Anthropic Messages, OpenAI Responses and OpenAI Chat Completions endpoints side by side. Your agent talks to it; it forwards to any provider you configure.

24 providers in one router

DeepSeek, GLM, Kimi, MiMo, MiniMax, Qwen, Gemini, OpenAI, Grok and more — Token Plan, Coding Plan and pay-as-you-go API, all ready to go.

Four slots plus a catch-all

fable / opus / sonnet / haiku map to real models you choose; model-fallback catches every other model request.

Automatic failover

Rate limit, 429 or error? The router switches to the next upstream. Sequential, round-robin or sticky — your agent never notices.

Three API protocols

Anthropic /v1/messages, OpenAI /v1/responses and /v1/chat/completions run side by side, so Claude Code, Codex and OpenAI-compatible tools like Open WebUI and Cherry Studio all plug straight in.

Bring your own endpoint

Built-in providers not enough? Anything speaking Anthropic Messages, Gemini or OpenAI Responses / Chat Completions drops in with first-class scheduling.

Local HTTPS

Generate a self-signed CA and server certificate in one click, so HTTPS-only clients — the Claude Desktop app among them — can reach cc-router.

Model name aliases

Each slot answers to several names: model-opus, claude-opus-4-7 and anthropic/model-opus all resolve to the same virtual model, whatever your tool calls it.

Usage receipts

Export a token-spend snapshot as PNG, PDF or HTML in 8 themes — usage-only by default.

Trilingual UI

Simplified Chinese, English and Japanese — auto-follow your system or pick manually.

Scheduling

Sequential, round-robin or sticky?

Sequential

Drain A first, then B. Great cache hit rate, perfect for squeezing small plans.

Round-robin

Split traffic evenly. Caches across accounts are independent, so quota burn is higher in exchange for real load balancing.

Sticky

One session stays pinned to one vendor, keeping cache hits while still spreading load across accounts.

Screenshots

See exactly what it does

Configuration, logs, usage receipts — everything in one app.

Live routing
Terminal UI

Manage it from the terminal, too

cc-router-tui lets you watch and manage the running cc-router right in your terminal — everyday tasks are a few keystrokes away.

cc-router-tui
  • Overview: today’s requests, hourly traffic, subscription health and quotas
  • Subscriptions: enable/disable, test connections, refresh models and balances, change slots
  • Virtual models, live routing and request-log details — press ? for every key binding

Turn it on under Settings → Security & Access → Terminal UI (local connections only; the desktop app must stay running). After “Add to PATH”, just type cc-router-tui in any terminal.

cc-router terminal UI overview
Receipts

Eight receipt themes to pick from

Export a token-spend snapshot as PNG, PDF or HTML — usage only, no prices, by default.

  • Diner check
  • Window label
  • German market
  • Pharmacy style
  • French marche
  • Minimal
  • US megastore
  • Japanese receipt

Sample data is trimmed; a real export lists every subscription and real model under each slot.

Window label
Diner check
Japanese receipt
FAQ

Frequently asked

What problem does cc-router solve?
Without it, your AI agent can only talk to one vendor at a time — small plans run out at the worst moment and you switch configs by hand. With cc-router in front, your agent transparently load-balances and fails over across vendors A, B and C. Three plans behave like one.
What are model-fable / opus / sonnet / haiku for?
Claude Code splits work by difficulty: fable for the hardest tasks, opus for planning, sonnet for coding, haiku for tool calls. cc-router abstracts those into four virtual slots; each binds a set of real models plus a scheduling mode. A fifth virtual model, model-fallback, catches anything that matches none of the four. Requests route by mapping — no more editing settings.json.
Sequential, round-robin or sticky?
Sequential: drain A first, then B. Great cache hit rate, perfect for squeezing two small plans. Round-robin: split traffic evenly, but caches across accounts are independent so total quota burn is higher in exchange for real load balancing. Sticky: one session stays pinned to one vendor, keeping cache hits while still spreading load across accounts.
Does Codex work too?
Yes. cc-router serves Anthropic /v1/messages, OpenAI /v1/responses and /v1/chat/completions at the same time. Codex CLI and the Codex desktop app connect through /v1/responses and share the very same subscription pool and scheduling rules as Claude Code.
Is this a reverse-engineering tool?
No. cc-router only forwards requests; the body is passed through nearly verbatim. It does not reverse, jailbreak or bypass anything. Users remain responsible for following each plan's Terms of Service.
Does my data go to the cloud?
No. cc-router is a pure local proxy bound to 127.0.0.1:23456. All forwarding happens on your machine. There is no telemetry or external traffic beyond the provider APIs you configure.

Make one subscription work like many.

MIT open source · macOS · Windows · Linux · Local proxy · data stays on device