Move Your ~/.claude Config into a ccpod Profile
If you already have a working Claude Code setup in ~/.claude/, you do not need to rebuild it to use ccpod. This guide moves it into a profile in three steps, then shows how to make it portable.
1. Run the wizard
Section titled “1. Run the wizard”ccpod initThe wizard detects your container runtime, offers your existing auth (host OAuth, ANTHROPIC_API_KEY, or another profile), and creates a default profile at ~/.ccpod/profiles/default/profile.yml.
2. Point the profile at your config
Section titled “2. Point the profile at your config”Edit the profile’s config block. The quickest route is to reuse your existing directory:
config: source: local path: ~/.claudeccpod copies that directory into a temporary directory, mounts the copy read-only at /ccpod/config, and the container entrypoint copies it into the container’s own ~/.claude/. Your host copy is not modified, but everything in the directory is copied, including history and caches, which is why step 3 trims it.
Run it:
cd path/to/your/projectccpod run3. Trim what you point at
Section titled “3. Trim what you point at”~/.claude/ holds more than configuration: conversation history, caches, and possibly credentials. For a profile you intend to keep or share, copy only the parts that define your environment into a separate directory:
mkdir -p ~/.my-claude-configcp ~/.claude/settings.json ~/.claude/CLAUDE.md ~/.my-claude-config/cp -R ~/.claude/skills ~/.claude/hooks ~/.my-claude-config/Copy only what exists on your machine, then point the profile at it:
config: source: local path: ~/.my-claude-config4. Make it portable
Section titled “4. Make it portable”Put that directory in a git repo and switch the profile to git. Every machine, and every teammate, then gets the same environment:
cd ~/.my-claude-configgit init && git add -A && git commit -m "Claude config"git remote add origin https://github.com/you/claude-configgit push -u origin mainconfig: source: git repo: https://github.com/you/claude-config sync: daily ref: mainOn a new machine, install ccpod, run ccpod init, and use the same config block, or export the whole profile with ccpod profile export default and install it with ccpod profile install.
Before you push, check that the repo contains no API keys, tokens, or credential files. Settings files and hooks sometimes embed secrets. Pass those through env: in the profile instead.
What carries over, and what does not
Section titled “What carries over, and what does not”| Carries over | Does not |
|---|---|
settings.json, CLAUDE.md, skills, hooks | Conversation history (unless you set state: persistent) |
Plugins listed in the profile’s plugins: | Plugins installed by hand on the host |
MCP servers declared in the project’s .mcp.json | Host-only tools the container image does not include |
Next steps
Section titled “Next steps”- Shared team profile: the same flow for a whole team.
- Profile configuration: every field in
profile.yml. - Project config: override the profile per repository.