Manage multiple Claude CLI account profiles. Switch between accounts, track per-profile usage stats, and launch Claude with per-directory profile memory.
npm install -g @cloudomium/clauthRequires the Claude CLI to be installed.
# Create profiles for your accounts
clauth add work
clauth add personal
# Launch Claude with a profile — it will prompt to log in on first use
clauth launch work
# Or just run clauth to get an interactive selector
clauthRunning clauth with no arguments opens an interactive profile selector. Navigate with arrow keys (or j/k), press enter to select, q to quit.
The selector remembers which profile you last used in the current directory and pre-selects it.
Create a new profile. Profile names can contain letters, numbers, hyphens, and underscores.
clauth add work
# ✓ Created profile "work"Delete a profile and all its data. Prompts for confirmation before deleting.
clauth remove work
# Delete profile "work" and all its data? [y/N]Launch Claude CLI with the given profile. If no name is provided, it uses the profile last used in the current directory (or the globally last-used profile).
# Launch a specific profile
clauth launch work
# Launch the last-used profile for this directory
clauth launchYou can pass extra arguments to the Claude CLI after --:
clauth launch work -- --model sonnetView or update per-profile configuration.
# View current config
clauth config work
# Enable --dangerously-skip-permissions for a profile
clauth config work --skip-permissions
# Disable it
clauth config work --no-skip-permissionsShow usage statistics. Without a name, shows a summary table for all profiles. With a name, shows detailed stats including token usage by model and activity charts.
# Overview of all profiles
clauth stats
# Detailed stats for a specific profile
clauth stats workDetailed view includes:
- Session and message counts
- Token usage broken down by model (input, output, cache)
- 14-day message activity chart
- 7-day bar chart
Interactive wizard that walks you through creating profiles and configuring them.
clauth setupProfiles are stored under ~/.clauth/. Each profile gets its own directory that acts as an isolated Claude configuration directory.
- default — automatically created, points to your existing
~/.claudeconfig - Other profiles — stored as
~/.clauth/<name>/and launched withCLAUDE_CONFIG_DIRset accordingly
When you launch a profile, clauth:
- Records it as the last-used profile for the current directory (
~/.clauth/folders.json) - Sets
CLAUDE_CONFIG_DIRto the profile's directory (except fordefault) - Spawns
claudewith any configured flags and passthrough arguments
~/.clauth/
├── default/ # metadata for the default profile
│ └── clauth.json # per-profile config (e.g. skipPermissions)
├── work/ # full Claude config dir for "work"
│ ├── clauth.json
│ ├── credentials.json
│ └── ...
├── personal/
│ └── ...
├── folders.json # directory → profile mapping
└── .last # globally last-used profile name
MIT