Run two Claude Code accounts simultaneously on macOS without re-authenticating by using separate configuration directories.
-
Create Separate Config Directories
mkdir ~/.claude-account1 mkdir ~/.claude-account2
-
Add Aliases to Shell Config
- Open
~/.zshrc(or~/.bashrcfor Bash) in an editor:nano ~/.zshrc - Add:
alias claude-account1="CLAUDE_CONFIG_DIR=~/.claude-account1 claude" alias claude-account2="CLAUDE_CONFIG_DIR=~/.claude-account2 claude"
- Save and reload:
source ~/.zshrc
- Open
-
Authenticate Each Account
- For account 1:
Log in; credentials save to
claude-account1
~/.claude-account1. - For account 2:
Log in; credentials save to
claude-account2
~/.claude-account2.
- For account 1:
-
Switch or Run Simultaneously
- Run
claude-account1orclaude-account2in separate terminal tabs (Cmd + T). - Each uses its own config and usage limits.
- Run
- Requires separate Anthropic accounts (different emails).
- Check Anthropic’s terms to ensure compliance.
- Update Claude Code:
npm install -g @anthropic-ai/claude-code. - If re-authentication occurs, verify
CLAUDE_CONFIG_DIRwithecho $CLAUDE_CONFIG_DIR.
I was doing the exact same thing manually — separate config dirs, shell aliases, the whole setup.
Eventually got tired of maintaining it by hand (settings not syncing, plugins missing on the second account, version nag issues, backups cross-contaminating) so I packaged the whole thing into an npm tool:
npmjs.com/package/claude-code-accounts
It automates the dir setup, symlinks your settings/plugins/skills across accounts (so you configure once, works everywhere), handles shell config automatically, and lets you choose what to share vs keep separate.
You get a claude-work command that shares everything except credentials.