Use Isolated Profiles for parallel sessions
mainIsolated Profiles allow you to run multiple accounts simultaneously with full directory isolation. Each profile receives its own $HOME and tool-specific home variables (like $CODEX_HOME), using symlinks to pass through your real development tooling (like .ssh, .gitconfig, and .npm).
Isolation details:
- Isolated (Real directories): Provider auth directories (e.g.,
~/.claude,~/.config/claude-code,$CODEX_HOME,~/.gemini,~/.config/opencode). - Symlinked (Passthrough):
.ssh,.gitconfig,.gnupg,.aws,.cargo,.npm,.local/bin, and most$XDG_CONFIG_HOMEentries (e.g.,gh,uv). - Shared (Symlinked): Claude
~/.claude/skills,plugins,commands, andagentsare symlinked so user tooling and skills are shared across sessions. - Never passed through:
~/.local/share/caam(contains the vault).
Use this mode when you need two accounts running at the same time in different terminals.
# Add profiles for different accounts
caam profile add codex work@company.com
caam profile add codex personal@gmail.com
# Execute commands using specific profiles
caam exec codex work@company.com -- "implement feature X"
caam exec codex personal@gmail.com -- "review code"