v1.0.0 · free and open source

One Claude Code.
Every account.

cchandover runs Claude Code under as many accounts as you have, side by side: personal, work, a client's. Hit a usage limit on one, and it hands the conversation to another in one command.

npm install -g cchandover
~/code/upload-service
claude · personal · alex@mail.com
> Add rate limiting to the upload API
⏺ Added a token bucket to /upload. Writing the tests next…
✗ Usage limit reached for alex@mail.com · resets at 4pm
$

Click a command to run it.

More than one account, and your work is always in the wrong one.

Claude Code holds one login at a time. Switching means logging out and back in, and when an account runs out mid-task, the conversation and everything Claude learned about your project stay behind with it.

cchandover gives every account its own login, so they all stay signed in, and moves a conversation to whichever one you need to keep going.

What it does

Switch accounts without losing your place.

Every account stays signed in

Each account gets its own folder and login. Logging in or out of one never touches another, and you can run them side by side in different terminals.

cchandover work

Hand off in one command

When one account hits its limit, cchandover copies the conversation and that folder's memory to any account you choose, then opens it there so you carry on.

cchandover handoff personal work

Nothing gets overwritten

Memory that already exists on the receiving account is kept. A conversation that was continued on both copies is left alone, and cchandover tells you where to resume it.

cchandover handoff personal work --pick

One CLAUDE.md, every account

New accounts share your CLAUDE.md, skills, agents and commands, so your instructions follow you. Settings are copied, so each account can have its own.

cchandover add work

Handoff

Exactly what moves, and what stays.

Copied

  • The conversation, every message of it
  • Files Claude saved alongside it, like subagent transcripts
  • Claude's memory for that folder

Not copied

  • Anything you do after the handoff. The copy is its own fork.
  • The undo history for file edits, so rewind can't reach before the handoff
  • Your other conversations, unless you hand them over too

Handing a conversation to another account means it's processed under that account's organization. cchandover names the organization and asks before it copies. If your workplace doesn't allow moving work between accounts, don't.

Commands

Every command, part by part.

Run Claude Code under an account

Opens Claude Code logged in as work. Anything after the account name works the same as it does with plain claude.

cchandoverwork↑ account--continue↑ passed to Claude
cchandover work
starts a new conversation
cchandover work --continue
reopens the last conversation in this folder
cchandover work --resume
lists past conversations to pick from

Hand a conversation to another account

Run it in the folder you were working in. It finds your latest conversation there on personal, names the organization it's going to and asks first, copies the conversation and memory to work, and opens it there. Any two accounts work: cchandover handoff work client, or back again with cchandover handoff work personal.

cchandoverhandoff↑ actionpersonal↑ fromwork↑ to
--pick
choose the conversation from a list
--session <id>
hand over one specific conversation
--no-memory
copy only the conversation
--no-resume
copy without opening Claude
--yes
skip the confirmation

Add an account

Creates ~/.claude-client, shares your CLAUDE.md, skills, agents and commands with it, copies settings.json, then opens the login.

cchandoveradd↑ actionclient↑ name you choose
--dir <folder>
use a folder you already have
--no-share
start without your shared files
--no-login
skip the login step

List accounts

Shows every account with its email, organization and folder.

cchandoverlist↑ action

Remove an account

Forgets the account and keeps its folder and login. With --purge, it also logs the account out and deletes its folder, after asking.

cchandoverremove↑ actionwork↑ account--purge↑ optional

Check everything

Checks that Claude Code is installed, every account is logged in, and the shared links still work. For anything wrong, it says how to fix it.

cchandoverdoctor↑ action

Print shortcuts

Prints a claude-<account> shortcut for each account. Add eval "$(cchandover shell-init)" to your shell profile to use them.

cchandovershell-init↑ action

Questions

Does logging in to one account log out the others?

No. Each account keeps its login in its own place, so they all stay signed in and you can run them at the same time in different terminals.

Does cchandover send my data anywhere?

cchandover itself makes no network requests. It copies files on your computer and starts Claude Code, which talks to Anthropic as it always does, under the account you picked.

Which conversation does handoff move?

The latest one from the folder you run it in. Add --pick to choose from a list, or --session <id> for a specific one. Run it from the same folder you started Claude Code in.

How many accounts can I add?

As many as you like. Personal and work are only examples: name them after clients, teams or anything else, and hand a conversation between any two.

Can I hand a conversation back?

Yes: cchandover handoff work personal. If you only carried on with one copy, handing it over again brings the older copy up to date.

What do I need to run it?

Claude Code, and Node.js 20.16 or newer (or Bun). It's built and tested on macOS. Linux should work; Windows isn't supported yet.

Is cchandover made by Anthropic?

No. It's an independent open-source project. It uses Claude Code's own commands for logging in and checking accounts, and changes nothing in Claude Code itself.

Something else? Open an issue on GitHub.

Keep working when the limit hits.

Install it, then add your other accounts:

npm install -g cchandover
cchandover add work
Read the source on GitHub