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.

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 label

It 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 label

ccas 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 2

Switching 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 off

How 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

CommandWhat it does
ccas accountList 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|offAuto-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.