Logins and MCP auth.
Each profile holds its own credentials. A new profile starts with its MCP servers unauthenticated—you rarely want a client workspace holding your personal tokens.
Open-source CLI tool
Claude Code holds one login at a time. Claude Profiles lets you keep several side by side and pick one with a single flag—so switching from your account to a client’s costs a keystroke, not a logout.
One CLI.
Separate logins.
Nothing shared you didn’t choose.
How it works
Claude Code already reads an environment variable that relocates its whole config directory. Claude Profiles is a small shell wrapper around it: each profile is its own directory, so each keeps its own credentials, MCP servers, project state and history.
One command makes the directory and drops you into Claude Code so you can log in as that workspace.
claude -work runs against that login. Every real flag still passes straight
through, untouched.
Settings, skills, agents and plugins are symlinked back to your default profile, so you maintain them in one place.
git clone https://github.com/kamtS/claude-profiles.git
cd claude-profiles
./install.sh
exec $SHELL
claude-profile new work
claude -work
Three moves
Run the installer. It copies one file and adds one line to your shell config, wrapped in markers it can remove again.
Create a profile for each workspace and log into it once.
Prefix the name whenever you want that account. Tab completion knows them all.
What separates, what doesn’t
Credentials should never bleed between workspaces. Your skills and settings usually should follow you everywhere. The defaults split along that line, and you can move it.
Each profile holds its own credentials. A new profile starts with its MCP servers unauthenticated—you rarely want a client workspace holding your personal tokens.
Resuming a session only ever shows you that profile’s work, so a client’s transcripts stay in the client’s workspace.
Symlinked back to your default profile so there is one copy to maintain. Want a profile that shares nothing at all? That is one setting.
Worth knowing
This separates accounts, not privileges. Anything running as your user can read every profile, so it is a convenience layer rather than a security boundary—use separate operating system accounts if you need a real one. It also never touches your credentials itself: it only tells Claude Code which directory to use, and lets Claude Code store them the way it already does. The repository ships an adversarial test suite covering path traversal, command injection and safe deletion, and it runs on every change.
Not affiliated with, endorsed by, or supported by Anthropic. If Claude Code ever ships native profile support, use that instead.
Stop logging out
Free and open source under the MIT licence. Two hundred lines of shell you can read in one sitting.