Run multiple Claude Code accounts on the same machine — work, personal, side project, client work — and switch between them in one command. Each account keeps its own credentials, history, plugins, and settings.
Pick a profile, run ccswitch use, and you're signed in as that account in seconds. Your other accounts stay exactly where you left them.
- Claude Code keeps everything in one directory (
~/.claude): your login, your settings, your plugins, your history. - If you use more than one Claude.ai subscription (work + personal, two clients, etc.), the only built-in option is
/logout→ browser →/login, every single time. Your context resets each switch. - Shell aliases get you partway there, but they don't handle the edge cases (the
defaultprofile, orphaned credentials, env-var auth precedence). - ccswitch encodes the right conventions so you stop thinking about it.
⚡Fast: a single Go binary, no runtime dependencies, no daemon.ccswitch useexecsclaudedirectly.🔒Isolated: each profile has its own credentials, history, plugins, MCP servers, memory. Switching is total.🪶Light touch: ccswitch never reads your credentials. It just setsCLAUDE_CONFIG_DIRand runsclaude— same as you would manually.🧱Safe: your existing~/.claudesetup is left alone, available as a built-indefaultprofile. No migration required.🖥️Cross-platform: macOS, Linux, Windows.
Download the latest release for your platform from the Releases page.
Set the version you want (see Releases):
VERSION=vX.Y.Z # e.g. v0.1.0macOS (Apple Silicon):
curl -fL "https://github.com/binoyPeries/ccswitch/releases/download/${VERSION}/ccswitch_darwin_arm64.tar.gz" \
| tar -xz ccswitch && sudo mv ccswitch /usr/local/bin/macOS (Intel):
curl -fL "https://github.com/binoyPeries/ccswitch/releases/download/${VERSION}/ccswitch_darwin_amd64.tar.gz" \
| tar -xz ccswitch && sudo mv ccswitch /usr/local/bin/Linux (x86_64):
curl -fL "https://github.com/binoyPeries/ccswitch/releases/download/${VERSION}/ccswitch_linux_amd64.tar.gz" \
| tar -xz ccswitch && sudo mv ccswitch /usr/local/bin/Linux (arm64):
curl -fL "https://github.com/binoyPeries/ccswitch/releases/download/${VERSION}/ccswitch_linux_arm64.tar.gz" \
| tar -xz ccswitch && sudo mv ccswitch /usr/local/bin/Windows (x86_64): grab ccswitch_windows_amd64.zip from the Releases page, extract it, and drop ccswitch.exe somewhere on your PATH.
Verify the install:
ccswitch --versionSet up a profile for your work account:
ccswitch add work
ccswitch use work
> /login # signs into your work Claude.ai account, once
> /exitFrom now on, this is all you need:
ccswitch use workYour existing ~/.claude setup is untouched — it's available as a built-in profile called default:
ccswitch use default # plain claude, exactly like before ccswitch existedAdd as many profiles as you like and switch with ccswitch use <name>.
| Command | What it does |
|---|---|
ccswitch list |
Show all profiles (--json for machine output). |
ccswitch add <name> |
Create a new profile. --launch to drop straight into claude for the first /login. |
ccswitch use <name> |
Launch claude with that profile. -- forwards args to claude. |
ccswitch rm <name> |
Remove a profile (prompts to confirm). |
ccswitch --version |
Show version + commit. |
ccswitch --help |
Standard help, also works per subcommand. |
Names must be 1–32 chars: lowercase letters, digits, -, or _. default is reserved.
git clone https://github.com/binoyPeries/ccswitch
cd ccswitch
make check # vet + tests + lint (same as CI)
make build # produces ./bin/ccswitchCI runs on macOS, Linux, and Windows. Please make sure make check passes before opening a PR.