Run multiple Claude Code sessions at the same time using separate configuration directories.
mkdir -p ~/.claude-work
mkdir -p ~/.claude-personalCLAUDE_CONFIG_DIR=~/.claude-work claude auth login
CLAUDE_CONFIG_DIR=~/.claude-personal claude auth loginalias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'source ~/.zshrc| Command | Config Directory | Account |
|---|---|---|
claude |
~/.claude |
Default (original login) |
claude-work |
~/.claude-work |
Work account |
claude-personal |
~/.claude-personal |
Personal account |
You can run all sessions simultaneously in separate terminal tabs.
To make claude-personal the default when typing claude, add this alias to ~/.zshrc:
alias claude='CLAUDE_CONFIG_DIR=~/.claude-personal claude'Then reload:
source ~/.zshrc# Create directory
mkdir -p ~/.claude-client
# Add alias to ~/.zshrc
alias claude-client='CLAUDE_CONFIG_DIR=~/.claude-client claude'
# Reload and authenticate
source ~/.zshrc
CLAUDE_CONFIG_DIR=~/.claude-client claude auth login# 1. Remove alias from ~/.zshrc
nano ~/.zshrc # Delete the alias line
# 2. Reload shell
source ~/.zshrc
# 3. Delete config directory
rm -rf ~/.claude-client- Each config directory maintains its own independent session
- No logout/login friction when switching between accounts
- Works on macOS (zsh) and Linux (bash — use
~/.bashrcinstead)