ccswitch

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.
Why it exists
- 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
default profile, orphaned credentials, env-var auth precedence).
- ccswitch encodes the right conventions so you stop thinking about it.
What you get
⚡ Fast: a single Go binary, no runtime dependencies, no daemon. ccswitch use execs claude directly.
🔒 Isolated: each profile has its own credentials, history, plugins, MCP servers, memory. Switching is total.
🪶 Light touch: ccswitch never reads your credentials. It just sets CLAUDE_CONFIG_DIR and runs claude — same as you would manually.
🧱 Safe: your existing ~/.claude setup is left alone, available as a built-in default profile. No migration required.
🖥️ Cross-platform: macOS, Linux, Windows.
Install
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.0
macOS (Apple Silicon):
curl -fL "https://github.com/binoyPeries/ccswitch/releases/download/${VERSION}/ccswitch_darwin_arm64.tar.gz" | tar -xz && \
sudo mkdir -p /usr/local/bin && 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 && \
sudo mkdir -p /usr/local/bin && 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 && \
sudo mkdir -p /usr/local/bin && 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 && \
sudo mkdir -p /usr/local/bin && 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 --version
Quick start
Set up a profile for your work account:
ccswitch add work
ccswitch use work
> /login # signs into your work Claude.ai account, once
> /exit
From now on, this is all you need:
ccswitch use work
Your existing ~/.claude setup is untouched — it's available as a built-in profile called default:
ccswitch use default # plain claude, exactly like before ccswitch existed
Add as many profiles as you like and switch with ccswitch use <name>.
Commands
| 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.
Contributing
git clone https://github.com/binoyPeries/ccswitch
cd ccswitch
make check # vet + tests + lint (same as CI)
make build # produces ./bin/ccswitch
CI runs on macOS, Linux, and Windows. Please make sure make check passes before opening a PR.
License
MIT