Manage multiple Claude Code profiles — credentials, skills, and memories across nodes
Project description
claude-profiles
Manage multiple Claude Code profiles across machines. Share skills, memories, plugins, and settings while keeping credentials separate per profile.
Install
uvx claude-profiles # run directly
uv tool install claude-profiles # or install as a tool
Quick start
# Create a new profile
claude-profiles create r # -> ~/.rclaude
claude-profiles create work --copy-creds-from s # with credentials
# Or discover existing ~/.{x}claude directories
claude-profiles init
# Check everything looks right
claude-profiles status
Profile names
The claude suffix is implicit — profile names are just the prefix:
| Directory | Profile | Alias |
|---|---|---|
~/.claude |
default (canonical) |
claude |
~/.sclaude |
s |
sclaude |
~/.rclaude |
r |
rclaude |
Launching profiles
# One-off
claude-profiles run s
claude-profiles run r --model opus
# Or add aliases to your shell rc:
eval "$(claude-profiles shell-init)"
# Now just type:
sclaude
rclaude -p 'explain this'
What's shared vs separate
| Shared (symlinked to ~/.claude) | Per-profile |
|---|---|
skills/ — custom slash commands |
.credentials.json — auth tokens |
projects/ — project memories |
.claude.json — account identity |
plugins/ — installed plugins |
history.jsonl — session history |
plans/ — saved plans |
sessions/, cache/, debug/ |
settings.json — preferences |
Credential sync
Push credentials between local profiles, SSH hosts, and Docker containers.
claude-profiles sync -f local:s -t remote:gpu-box -v
claude-profiles sync -f local:default -t docker:abc123
claude-profiles sync -f remote:serverA -t remote:serverB
claude-profiles sync -f local:s -t remote:node:r
Location syntax
local[:profile] Local profile (default src: s, dst: default)
remote:host[:profile] SSH host (default: ~/.claude)
docker:container[:path] Docker container (default: /root/.claude)
Commands
| Command | Description |
|---|---|
create <name> [--copy-creds-from] |
Create a new profile with symlinks |
init |
Discover existing profiles, set up symlinks |
status |
Show profiles, link health, credential status |
run <profile> [args...] |
Launch claude with a profile |
shell-init |
Print shell aliases for .zshrc/.bashrc |
link |
Re-create symlinks if broken |
sync -f SRC -t DST [-v] |
Sync credentials between locations |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_profiles-0.2.0.tar.gz.
File metadata
- Download URL: claude_profiles-0.2.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00e503feb45f15471f74327557017bb275d86c1e9214ad806a53e49371fda595
|
|
| MD5 |
b253090f85342f33ef505a90ca8dc61f
|
|
| BLAKE2b-256 |
c3ac7eb02c1885ffdfd1297e70f5eefa33ca4ce934e14b60d1e5e6bc8f5bfe14
|
Provenance
The following attestation bundles were made for claude_profiles-0.2.0.tar.gz:
Publisher:
publish.yml on AgrawalAmey/claude-profiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_profiles-0.2.0.tar.gz -
Subject digest:
00e503feb45f15471f74327557017bb275d86c1e9214ad806a53e49371fda595 - Sigstore transparency entry: 1189446457
- Sigstore integration time:
-
Permalink:
AgrawalAmey/claude-profiles@15fa4519e9b56d37a1fc301a492c1806a76383c4 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/AgrawalAmey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15fa4519e9b56d37a1fc301a492c1806a76383c4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file claude_profiles-0.2.0-py3-none-any.whl.
File metadata
- Download URL: claude_profiles-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb6d0611cc2286a1b3890f47a1ac37c4e6411a2806ec375db085dd5307210d6e
|
|
| MD5 |
61280f04427db1e6da311d97f89b490d
|
|
| BLAKE2b-256 |
98288b4839d33bc4d504721701a70bd97f1584413200bb22f96a3f35fcec9aca
|
Provenance
The following attestation bundles were made for claude_profiles-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on AgrawalAmey/claude-profiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_profiles-0.2.0-py3-none-any.whl -
Subject digest:
cb6d0611cc2286a1b3890f47a1ac37c4e6411a2806ec375db085dd5307210d6e - Sigstore transparency entry: 1189446462
- Sigstore integration time:
-
Permalink:
AgrawalAmey/claude-profiles@15fa4519e9b56d37a1fc301a492c1806a76383c4 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/AgrawalAmey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15fa4519e9b56d37a1fc301a492c1806a76383c4 -
Trigger Event:
release
-
Statement type: