Switch Claude identities. Keep your context.
Isolates Claude. Shares everything else.
Named accounts — work, personal, client-A, as many as you need. altergo work and you are in. Session history is shared across all accounts. Only Claude credentials are isolated — AWS, Docker, kubectl stay shared by default.
pip install altergo
Many accounts, one brain.
Session history is shared across all named accounts. Credentials stay isolated per account. altergo keeps everything coherent — no sync service, no config files to babysit.
Many accounts, one brain
Share session history seamlessly across all your named Claude Code accounts — work, personal, client-A. All your context, visible from any account, always.
Zero config drama
Symlinks handle everything. No syncing, no copying, no config files to wrangle. A single setup command and you are done — undo it just as easily.
Pick up where you left off
The interactive TUI picker shows each session's project name, last modified time, size, and a preview of the final message so you always resume with full context.
Three commands to go.
From install to switching named accounts in under a minute. No daemon, no background process, no cloud sync.
pip install altergo
One pip command and you are ready. No dependencies, no compilation, pure Python standard library.
altergo --setup --name work
Create a named account in seconds. Repeat for personal, client-A, or any name you choose. Symlinks wired automatically.
altergo work
Prefix any command with the account name. That's it. Run altergo --resume any time to open the interactive session picker across all accounts.
N accounts. No entourage.
A single Python file that manages as many Claude identities as you need and refuses to be dramatic about it.
Interactive TUI Picker
Full-screen curses interface with arrow keys, j/k vim bindings, and page up/down for large session lists.
Named Accounts — Unlimited
work, personal, client-A — create as many named accounts as you need. Each gets its own Claude credentials; everything else is shared.
One Command to Switch
altergo work launches Claude with the right credentials. No flags, no config editing — just the account name.
Cross-platform
Works on macOS and Linux wherever Python 3.9+ is available. No platform-specific dependencies.
Zero Dependencies
Ships as a single Python file. Relies entirely on the standard library — nothing to audit, nothing to break.
Isolates Claude, Shares the Rest
Only Claude's OAuth token is isolated per account. AWS, GCP, Docker, kubectl, and GitHub CLI are shared across all accounts by default. Tune it with altergo --settings — a curses TUI, space to toggle, s to save.
Silent Auto-migration
Existing single-account installs upgrade automatically on first run. No manual steps, no config edits — your old setup becomes the default account and keeps working.
All of you, ready in seconds.
Choose your preferred install method. pip is the recommended path and always up to date.
# Install from PyPI
pip install altergo
# Create named accounts
altergo --setup --name work
altergo --setup --name personal
# Switch — just prefix the name
altergo work
# Isolated environment
pipx install altergo
# Create named accounts
altergo --setup --name work
altergo --setup --name personal
# Switch — just prefix the name
altergo work
# Single file install
curl -fsSL \
https://raw.githubusercontent.com/thepixelabs/altergo/main/altergo.py \
-o ~/.local/bin/altergo
chmod +x ~/.local/bin/altergo
Every identity, documented.
Quick reference for commands, credentials, and how the symlink model works under the hood.
Commands
| altergo <name> | Launch Claude as the named account (e.g. altergo work) |
| altergo | Launch Claude as the default account (backwards compatible) |
| altergo --resume | Open the interactive TUI session picker (all accounts) |
| altergo --resume <id> | Resume a specific session by ID directly |
| altergo --list | Print recent sessions as a plain table |
| altergo --setup --name <n> | Create a named account, wire symlinks automatically |
| altergo --teardown | Remove symlinks (account directory + credentials untouched) |
| altergo --settings | Configure which CLI tool credentials are shared (interactive TUI) |
| altergo <name> shell | Interactive shell inside the named account HOME |
| altergo <name> -- <cmd> | Run one command with HOME set to the named account directory |
| altergo --version | Show version number |
| altergo --help | Show help text |
Credentials & Auth
altergo isolates credentials by setting HOME=~/.altergo/accounts/<name> for the Claude process. Each account's token lives at ~/.altergo/accounts/<name>/.claude/.credentials.json.
macOS users: Claude Code may store tokens in the system Keychain rather than a flat file. This is expected — when you authenticate inside altergo work, the token is stored under a separate Keychain entry keyed to that account's email. The credentials directory may appear empty even though auth works correctly.
Per-tool credential sharing: Run altergo --settings to choose which CLI tools share credentials across all accounts. Cloud providers (AWS, gcloud, Azure), Docker, Kubernetes, Terraform, and GitHub CLI are shared by default. Identity tools (SSH keys, git identity, GPG) are isolated by default.
One-off auth commands: altergo <name> shell and altergo <name> -- <cmd> are power-user escape hatches for running commands in a named account's HOME — useful for one-time setup tasks like altergo work -- gh auth login.
What gets symlinked
These paths inside each account's ~/.altergo/accounts/<name>/.claude/ are symlinked to your primary ~/.claude/ — all accounts share them:
These stay separate per account:
CLI tool credentials — shared or isolated per tool across all named accounts, configurable via altergo --settings. Shared by default: .aws, .config/gcloud, .azure, .docker, .kube, .terraform.d, .config/gh. Isolated by default: .config/glab, .npmrc, .ssh, .gitconfig, .gnupg.
Compatibility & Disclaimers
altergo depends on the internal directory structure of Claude Code. Anthropic may change this without notice — if altergo breaks after a Claude Code update, please open an issue.
altergo is not affiliated with or endorsed by Anthropic. "Claude" and "Claude Code" are Anthropic's trademarks.
~/.claude/ before first use.
Full terms in the DISCLAIMER.