Multiple Claude Accounts - Maestro
Claude Code stores its configuration and auth credentials in
~/.claudeby default. TheCLAUDE_CONFIG_DIRenvironment variable overrides this location. By creating a separate config directory per account - each with its own OAuth credentials - and symlinking shared resources back to a canonical source, you get:
- Separate billing/authentication per account
- Shared sessions - resume any session from either account
- Shared settings, plugins, commands, plans, and skills - configure once, use everywhere
One-Time Setup This setup is done once on your machine, outside of Maestro.
- Authenticate Each Account Start Claude Code normally and complete OAuth for your first account:
claude
Complete OAuth for account A (e.g., personal)
Copy the authenticated config to a named directory:
cp -a ~/.claude ~/.claude-personal
Then authenticate your second account:
mv ~/.claude/.claude.json ~/.claude/.claude.json.bak claude
Complete OAuth for account B (e.g., work)
cp -a ~/.claude ~/.claude-work rm ~/.claude/.claude.json.bak
The main ~/.claude/ directory doesn’t need its own .claude.json. It serves as the canonical source for shared resources.
2. Symlink Shared Resources For each account directory, replace local copies with symlinks back to ~/.claude so settings, plugins, and sessions stay in sync:
Repeat for each account directory (e.g., ~/.claude-personal, ~/.claude-work)
CONFIG_DIR=~/.claude-personal
Back up directories that will be symlinked
mv $CONFIG_DIR/projects $CONFIG_DIR/projects-pre mv $CONFIG_DIR/todos $CONFIG_DIR/todos-pre mv $CONFIG_DIR/session-env $CONFIG_DIR/session-env-pre
Remove files/dirs that will become symlinks
rm -rf $CONFIG_DIR/commands $CONFIG_DIR/ide $CONFIG_DIR/plans $CONFIG_DIR/plugins $CONFIG_DIR/skills rm -f $CONFIG_DIR/settings.json $CONFIG_DIR/CLAUDE.md
Create symlinks
ln -s ~/.claude/commands $CONFIG_DIR/commands ln -s ~/.claude/ide $CONFIG_DIR/ide ln -s ~/.claude/plans $CONFIG_DIR/plans ln -s ~/.claude/plugins $CONFIG_DIR/plugins ln -s ~/.claude/skills $CONFIG_DIR/skills ln -s ~/.claude/settings.json $CONFIG_DIR/settings.json ln -s ~/.claude/CLAUDE.md $CONFIG_DIR/CLAUDE.md ln -s ~/.claude/todos $CONFIG_DIR/todos ln -s ~/.claude/session-env $CONFIG_DIR/session-env ln -s ../.claude/projects $CONFIG_DIR/projects
Set
CLAUDE_CONFIG_DIRto your account’s config path (e.g.,/Users/you/.claude-personal)