Connect a work and a personal Claude (or Codex) account side by side. Pin any session to whichever plan should pay for it, watch both gauges at once, and when one runs hot, switch and keep going - the session never breaks stride. Logins stay isolated; work credentials never mix with personal. Continuum itself is free (BYOK); optional hosted inference is separate.
Every new session takes an account pin: Default, work, or personal. The session bills the plan you pinned it to - and each account keeps its own gauge, so you always know which window you're spending.
Logins are isolated by config directory. Your work credentials never mix with personal - different config dirs, different keychain partitions, no HOME swap.
The pin is decided before the process starts, not billed after the fact. Continuum resolves the account, builds that account's environment, and only then spawns the CLI. So the moment a turn burns tokens, it is already burning them on the plan you chose, and the gauge you watch is the gauge that moved. When one window hits its ceiling, the rate-limit playbook covers your options; a second account is the one that doesn't involve waiting.
The failure this defends against is wrong-account billing: a session that quietly runs on the plan you didn't pick, and that you find out about a week later on the wrong invoice. Three layers keep the accounts apart, and a fourth refuses to guess when it can't tell them apart.
Each account gets its own config root under Instances/<provider>/<name>, and only the provider's own variable points at it: CLAUDE_CONFIG_DIR for Claude, CODEX_HOME for Codex, GROK_HOME for Grok, XDG_DATA_HOME for the OpenCode connectors. HOME is never swapped, so git, ssh, gh, and node keep working inside a worktree.
Before a session spawns, inherited provider variables are stripped from the environment, and the chosen account's credentials are injected after the strip. A stray key exported in your shell profile can't leak into a session you pinned to a subscription.
Each account's token or key lives in its own Keychain item. The record on disk carries names and ids only, never secrets: Codex keeps its auth.json inside its own config root, and Claude tokens stay in the partition.
The fourth layer is refusal. If a pinned account is missing its credential, was removed, or belongs to a provider that can't be isolated on this host, the session doesn't spawn. You get a re-authenticate error instead. A pin never falls back to your default plan, because a silent fallback is precisely how a personal subscription ends up paying for work.
Your default account isn't stored in that file at all. It's synthesized at launch from the login the CLI already holds, so a corrupted record can't take your primary plan away, and adding a second account can't disturb the first. Signing in for the first time is the same flow it always was for Claude and for Codex.
The same heavy workload on a metered API key bills every token - and the meter never stops. A second flat-rate subscription is $200/mo, flat, and gives you a whole second set of windows.
Past a few heavy days a month, the second subscription is the cheaper line item - and there's no overage bill waiting at the end of it.
You don't have to take that on faith. Analytics prices every event you already ran at its model's real rate, so the notional API cost of last month's work is sitting in the Usage tab. Compare it against what a second flat plan costs and the decision stops being a vibe. The Max plan breakdown and the API pricing guide are the two numbers on either side of it.
every token billed · the meter never stops
a whole second set of windows · already paid for
Past a few heavy days a month, a second subscription pays for itself.
Each account gets its own live gauge - usage, weekly cap, and an independent reset countdown. When work is at 87% and personal is at 12%, you can see it at a glance and move the next session to the fresh window.
Hover any account to see today's spend for that plan alone.
Secondary accounts fold into the same provider card as toggle pills, so one Claude column carries every Claude plan you own instead of scattering them across the dashboard. On iPhone they surface as an Other accounts card: one row per account, each with its session percentage, reset countdown, and rail. Providers that report no per-account quota still get a picker; they just don't get a second dial.
Two gauges also change how you schedule work. Long, cheap jobs go on whichever window resets soonest; the run you actually care about gets the fresh one. That's the same lever behind running sessions in parallel, except the ceiling moved instead of the queue.
claude · 2 accountsindependent windowsSettings, Providers, Add account. The whole flow is name, authenticate, done, and it never touches the login you already have.
Pick a slug: work, personal, client-a. No slashes, no whitespace, no leading dot, no duplicates. The name becomes that account's config root on disk and its label in every picker and gauge.
Claude runs claude setup-token in an embedded terminal and captures the result straight into the new account's Keychain partition. Codex runs its own login under the new config root. Key-based providers take the key directly. Your primary credential is never read or rewritten.
Once a provider has two accounts, pickers appear: the Mac composer pill, the iPhone new-session sheet, the usage gauges. CLI-based providers also get a terminal shim, so claude-work runs that account from any shell. Key-only accounts are marked in-app only.
Continuum remembers the last account you picked per provider, and validates it against the live account list before it's used, so an account you disconnected degrades to your default instead of failing a spawn. Paired hosts running an older build show no picker at all and quietly stay on the default.
Two things stay aggregate on purpose. Analytics rolls every account's history into one set of totals with no per-account column yet, and the menu-bar gauge tracks your default account only. Everything that decides which plan pays - the session pin, the spawn environment, the gauge inside the Usage tab - is per account.
Short answers here, long answers in the docs.
Each account authenticates with its own login through the provider's own CLI - you're using plans you pay for, exactly as you'd run them in a terminal. Continuum never proxies or shares credentials between accounts.
No. Each account gets an isolated config directory and its own keychain partition. It's a config-dir isolation model, not a HOME swap - spawn resolution is fail-closed, so a pin never silently bills the wrong plan.
Every provider Continuum supports, with the isolation mechanism each one allows. Claude and Codex get a full config directory each. Grok gets its own config root, the OpenCode connectors get their own data directory, Antigravity gets an isolated mini-home, and Cursor separates by key. Claude and Codex are also the two that contribute separate account history to analytics; the rest bill correctly but don't split their history by account.
You toggle the account and keep working - the session continues. This is a manual switch, not automatic mid-turn failover: when one window runs hot, you move to the other and pick up where you left off.
Yes, and it's a common shape: a flat-rate plan for the bulk of the work and a metered key for the overflow or for models your plan doesn't carry. The key lives in its own Keychain partition like any other account and gets the same per-session pin. It's marked in-app only, because there's no CLI login to shim into your shell.
Yes. Pins are per session, not per app, so a worktree on the work plan and a worktree on the personal plan can run concurrently with independent gauges. That's the practical difference between adding an account and just logging out and back in, and it's why the pattern scales further than a single-plan setup like Conductor or Claude Code on its own.
Add a second account in Settings and pin your next session to it.
isolated logins · as much compute as you own