Multiple Claude accounts
Pool several Claude accounts with ccas, quick-swap between them, and auto-rotate to another account when one hits a usage limit.
ccas can hold a pool of Claude accounts for you. You can quick-swap between
them, and have it automatically rotate to another account when the one you're
on hits a usage limit. Because everything routes through the
Claude proxy, the active account is applied server-side,
the proxy injects it for you, so switching takes effect without re-logging in.
Adding accounts
There are two ways to add an account, and the difference matters for reliability.
ccas account login (recommended)
Authorizes a dedicated login that the pool owns outright - its own OAuth
authorization, separate from any device. Because Claude refresh tokens are
single-use and rotate on every refresh, an account the pool shares with a
device (see add below) can get signed out of the pool when that device refreshes
the same token. A dedicated login never collides, so usage, alerts, and rate-limit
tracking stay reliable even while you use the same account in Claude Code locally.
ccas account login # authorize a dedicated pool login (opens a browser)
ccas account login "Work Max" # ...with a custom labelIt runs the same Claude sign-in you already know: it prints/opens an authorize URL, you approve in the browser, and paste back the code shown on the page.
ccas account add (snapshot)
Captures a snapshot of the account you're currently logged into in Claude Code.
Quick, but it shares that device's token with the pool - fine for an account you
don't also use locally, but prefer login for one you do.
ccas account add # snapshot the currently logged-in account
ccas account add "Work Max" # ...with a custom labelccas account also auto-detects the account you're currently logged into. If
it isn't in the pool yet, it offers to add it on the spot:
ccas account
# › Logged into Claude as you@example.com (Acme), which isn't in the pool.
# Add it to the pool now? (Y/n)Switching
ccas account # list the pool + pick a slot interactively
ccas account 2 # switch to slot 2Switching sets that account active server-side (so the proxy uses it) and writes it into your local Claude Code, so the account shown in Claude Code matches the one your requests actually use. Restart Claude Code to pick it up.
Autoswitch
Turn on autoswitch and ccas rotates to another eligible account the moment the
active one hits a usage limit, no manual action:
ccas account autoswitch on
ccas account autoswitch offHow it picks the next account:
- Both the 5-hour and the weekly limit trigger a switch.
- It prefers an account of equal or higher tier (it won't drop you from a Max account to a Pro one), and only downgrades if nothing equal-or-higher is free.
- A just-limited account is put on cooldown so it isn't immediately re-picked.
- There's no automatic switch-back, once it moves, it stays until the next limit (or you switch manually).
If the auto-detected tier for a slot is wrong, override it from the AI → Accounts page in the dashboard (it feeds the ranking above).
The dashboard
The AI → Accounts page in your dashboard shows every pooled account with a plan badge (deeper/red = pricier tier) and live usage bars for the 5-hour, weekly, weekly-Sonnet, and Claude Design windows. From there you can set the active account, toggle autoswitch, rename, or remove an account. Usage refreshes automatically about every 2 minutes.
Commands
| Command | What it does |
|---|---|
ccas account | List the pool with live usage; offers to add the account you're logged into if it's new. |
ccas account <N> | Switch to the account in slot N (and write it into Claude Code locally). |
ccas account login [label] | Authorize a dedicated pool login (recommended). |
ccas account add [label] | Snapshot the currently logged-in account into a slot. |
ccas account autoswitch on|off | Auto-rotate to another account on a usage limit. |
ccas account rename <N> <label> | Rename a slot. |
Removing an account and overriding a slot's tier are done from the AI → Accounts page in the dashboard rather than the CLI.
Live usage across your accounts is also exposed as a small read-only API, see Usage API.