v0.1.104 · ready · MIT licensed

Pool your AI rate limits.

Combine multiple accounts into one endpoint. Auto-routes to the freshest account. Silent failover. Zero setup.

$ curl -sSf https://raw.githubusercontent.com/ramc10/shunt/main/install.sh | sh
shunt connected
accounts 3 active · 1,247 routed
work Claude Pro you@example.com ● active
5h
61% 4h 12m
7d
79% 3d 4h
personal Claude Pro alt@example.com ● active
5h
8% reset soon
7d
12% 6d 2h
codex ChatGPT Go pro@example.com ● warm
1h
88% 22m
streaming output routing → personal
write a rate limiter in Rust

            
generating · 0 tokens 0 tok/s
/ the problem

You paid for a plan. You keep hitting the ceiling.

/ 01

Rate limits aren't enough.

Reset windows are too slow for real work sessions.

5h window84% used · 3:42:11
/ 02

Juggling kills flow.

Switching accounts means lost context and broken sessions.

$ logout $ login --account=alt $ # where was I again?
/ 03

429s break loops.

A hard fail mid-session is a context-switch you didn't budget for.

⚠ 429 rate_limit_exceeded retry-after: 01:24:38
/ features

drop-in, transparent, relentless.

F.01 / LIVE STATUS

watch your rate limits breathe

Every response updates the bars in real time. Color shifts amber at 65%, red at 85%.

work · 5h
61%
work · 7d
79%
personal · 5h
8%
codex · 1h
88%
side · 5h
34%
F.02 / ROUTING

picks the freshest account

Tracks utilization from every response. The next request always lands on the account with the most headroom.

req #1247in
req #1248queued
req #1249queued
shunt
work61%
personal8%
codex88%
F.03 / AUTO-RESUME

never sees a hard fail

If all accounts are exhausted, shunt sleeps until the soonest reset and retries automatically.

[wait] all accounts cooling
[wait] sleeping 1h 24m 12s
[wake] personal reset
[ok] retry → 200 OK
~ shunt status — 127.0.0.1:8082 ● live
/ faq

Honest answers.

Is this against the terms of service?

No. You're using your own accounts, with your own credentials, from your own machine. shunt doesn't share or pool credentials with anyone else — it just picks which of your accounts to use.

Do I need to share my password or API key?

No. shunt reads existing OAuth tokens from disk. For additional accounts, it opens a standard browser-based OAuth flow. Your password never touches shunt.

What if all my accounts hit their limit?

shunt holds the connection and sleeps until the soonest reset, then retries. You see a single slow response — never a hard 429.

Does this work with my IDE or other tools?

If your tool supports a custom base URL, yes. Most AI-powered IDE plugins and CLI tools do.

What does it cost?

Nothing. shunt is MIT-licensed and free. No hosted version, no telemetry. You pay for your AI accounts — shunt is just a router.

shunt it.

Stop hitting walls. Combine the rate limits you already pay for.

$ curl -sSf https://raw.githubusercontent.com/ramc10/shunt/main/install.sh | sh
MIT licensed · macOS & Linux