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
cc-router · 127.0.0.1:23456
running
POST /v1/messages POST /v1/responses
model-fable
round-robin
DeepSeek V4-Pro GLM-5.1
model-opus
round-robin
MiniMax M2.7 Xiaomi MiMo
model-sonnet
sticky
GLM-4.6
model-haiku
sequential
Kimi K2
model-fallback
catch-all
any unmatched model
— Architecture

How it works

One diagram: many clients → two API protocols → cc-router → 24 upstreams.

Anthropic-protocol clients
Claude CodeClaude DesktopOpenCodeOpenClawpi
POST /v1/messages
Anthropic Messages
OpenAI-protocol clients
Codex CLICodex App
POST /v1/responses
OpenAI Responses
API entry points · two protocols
cc-router
127.0.0.1:23456
running
5 virtual model slotsSequential / round-robin / stickyAuto-switch on rate limit or error
Upstream plans & APIs
DeepSeekGLMKimiMiMoMiniMaxQwenGeminiOpenAIGrokOpenRouter
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 both Anthropic Messages and OpenAI Responses endpoints. Your agent talks to it; it forwards to any provider you configure.

01

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.

02

Four slots plus a catch-all

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

03

Automatic failover

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

04

Two API protocols

Anthropic /v1/messages and OpenAI /v1/responses run side by side, so both Claude Code and the Codex family plug straight in.

05

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.

06

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.

07

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.

08

Usage receipts

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

09

Trilingual UI

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

— 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.

— Screenshots

See exactly what it does

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

Live routing

Clients, both API entry points and every upstream in one view — with the proxy address and auth token one click away.

Virtual model config

Four fixed slots — fable / opus / sonnet / haiku — plus a fallback. Bind real models and pick scheduling visually.

Request logs

Watch every forwarded request live: provider, latency, token spend, errors.

— FAQ

Frequently asked

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.
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: 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.
Yes. cc-router serves Anthropic /v1/messages and OpenAI /v1/responses at the same time. Codex CLI and the Codex desktop app connect through the latter and share the very same subscription pool and scheduling rules as Claude Code.
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.
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.
!

Before you install

Provider ToS may not explicitly permit "subscription key behind a third-party proxy with multi-model dispatch." The author is not responsible for accounts being throttled, banned or subscriptions revoked. Software is provided AS-IS.

Ready to make every subscription count?

Download the app