@0xmapache/claude-profile
v0.1.3
Published
Secure local multi-profile launcher for Claude Code.
Downloads
607
Maintainers
Readme
claude-profile
Use multiple Claude Code accounts locally without mixing credentials, sessions, history, or configuration clutter.
claude-profile starts Claude Code with a dedicated CLAUDE_CONFIG_DIR per
profile. Use one profile for work, another for personal, and as many named
profiles as you need.
Install
npm install -g @0xmapache/claude-profileThis installs:
claude-profileclaude-profile-usage
Quick Start
Create and open a profile:
claude-profile personalInside Claude Code, log in with the account for that profile:
/loginOpen the same profile later:
claude-profile personalCreate another profile:
claude-profile workInside that session, run /login with your other Claude account.
List profiles:
claude-profile --listRemove a profile:
claude-profile --remove workRemoval is non-destructive. The profile is moved to:
~/.claude-profiles/.trash/<profile>-<timestamp>Review local usage across logged-in profiles:
claude-profile-usagePermissions
Profile launches use Claude Code's dangerous permissions bypass by default:
claude-profile workThis keeps the profile command simple and matches the common local agent workflow.
Profile Storage and Shared Config
Profiles live under:
~/.claude-profiles/<profile>Each profile has isolated:
- credentials
- sessions
- history
- cache
- telemetry
- project state
On first launch, the profile is bootstrapped from your main ~/.claude config:
settings.jsonis copied once.skills,agents,commands,output-styles, andCLAUDE.mdare symlinked if they exist.
This means shared skills update everywhere, while account-specific state stays separate.
If you later change your main ~/.claude/settings.json, sync a profile:
claude-profile --sync-settings workSafety
Before starting Claude, claude-profile removes auth/provider environment
variables such as ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, and
CLAUDE_CODE_OAUTH_TOKEN. A profile should use its own /login session, not an
API key or token inherited from your shell.
Copied settings.json files are sanitized by removing top-level env and
apiKeyHelper keys.
Usage Reports
claude-profile-usage
claude-profile-usage weekly
claude-profile-usage monthly
claude-profile-usage daily --since 2026-06-01claude-profile-usage checks which profiles are logged in with
claude auth status --json, then summarizes local Claude Code usage logs with
ccusage.
This reports local token and estimated-cost history. It does not read OAuth tokens or call undocumented live quota endpoints.
Terminal Titles
Interactive launches are labeled with the profile name:
- terminal title:
claude:<profile> - Claude session name:
<profile>
Customize or disable this behavior:
CLAUDE_PROFILE_TITLE_PREFIX="cc:" claude-profile work
CLAUDE_PROFILE_SET_TERMINAL_TITLE=0 claude-profile work
CLAUDE_PROFILE_SET_CLAUDE_NAME=0 claude-profile work