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.
uvx claude-profiles create r # new profile -> ~/.rclaude
uvx claude-profiles create work --copy-creds-from s # with credentials
uvx claude-profiles init # or discover existing ones
uvx claude-profiles status # check health
Profile names
The claude suffix is implicit — profiles are just the prefix:
| Directory | Profile | Alias |
|---|---|---|
~/.claude |
default (canonical) |
claude |
~/.sclaude |
s |
sclaude |
~/.rclaude |
r |
rclaude |
Launching profiles
uvx claude-profiles run s
uvx claude-profiles run r --model opus
# Or add aliases to your shell rc:
eval "$(uvx 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.
uvx claude-profiles sync -f local:s -t remote:gpu-box -v
uvx claude-profiles sync -f local:default -t docker:abc123
uvx claude-profiles sync -f remote:serverA -t remote:serverB
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.1.tar.gz.
File metadata
- Download URL: claude_profiles-0.2.1.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92aeeb892067469f7e3bffd746b0d94d18710db5c4b07265bef73e6d0cd425e3
|
|
| MD5 |
3936247b0a4473a93f336a60c15fadc4
|
|
| BLAKE2b-256 |
24ed73ff724c87d5dde3ad6de104afa129fd54a0ec415b93f8ee6edc165f282b
|
Provenance
The following attestation bundles were made for claude_profiles-0.2.1.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.1.tar.gz -
Subject digest:
92aeeb892067469f7e3bffd746b0d94d18710db5c4b07265bef73e6d0cd425e3 - Sigstore transparency entry: 1189447473
- Sigstore integration time:
-
Permalink:
AgrawalAmey/claude-profiles@fe8c72c1ba9661b630e5ef71b7f9960189db11c1 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/AgrawalAmey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fe8c72c1ba9661b630e5ef71b7f9960189db11c1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file claude_profiles-0.2.1-py3-none-any.whl.
File metadata
- Download URL: claude_profiles-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.8 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 |
79658db5b2fd0838e73fee45e266b1457825074ce4c87295c99234c11b277ad6
|
|
| MD5 |
89554a5d29cbf9cd677b2635917754e1
|
|
| BLAKE2b-256 |
7bafcf9bf8fbcf46569a3a57aa6475d982acb7176e6ac9e37699071f1f24546d
|
Provenance
The following attestation bundles were made for claude_profiles-0.2.1-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.1-py3-none-any.whl -
Subject digest:
79658db5b2fd0838e73fee45e266b1457825074ce4c87295c99234c11b277ad6 - Sigstore transparency entry: 1189447482
- Sigstore integration time:
-
Permalink:
AgrawalAmey/claude-profiles@fe8c72c1ba9661b630e5ef71b7f9960189db11c1 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/AgrawalAmey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fe8c72c1ba9661b630e5ef71b7f9960189db11c1 -
Trigger Event:
release
-
Statement type: