Run more than one Claude Code, isolated as far as you choose.
Each playbook has its own CLAUDE.md, skills, plugins and memory, so each Claude has its own personality and know-how. See the notebooks ↓
cpb gives every project, account or model backend its own CLAUDE_CONFIG_DIR:
its own memory, hooks, skills, plugins and MCP servers, and, when you want it, its own environment,
login and microVM. Each one is described in a file you can apply anywhere.
Five playbooks, five CLAUDE_CONFIG_DIRs, and one that vanishes. Each notebook is its own Claude Code.
hover a tab, or press ↑↓
Everything on these cards is what cpb itself reported after applying
showcase.cpb:
the directory, the files it wrote, the plugins, MCP servers and skills it set up.
Four layers
Isolation, as far as you choose
Every playbook has its own config home. Go further per playbook: its own environment, its own login, its own process. The dots show which of the five above use each layer.
Config home
Its own CLAUDE.md, settings, hooks, memory, history, sessions, plugins, MCP servers and skills. Your ~/.claude never moves.
every playbook, alwaysEnvironment
Its own variables, set or blocked at launch: another model backend, another token, another proxy. Your shell stays as it is.
USE ENVSET VARBLOCK VARLogin
Its own Anthropic account, sharing nothing with ~/.claude. Run two accounts side by side.
ISOLATED LOGINProcess
A microVM with its own kernel, filesystem and network. It sees only your working directory and its own config. Keys stay on the host by default.
SANDBOX--sandboxRuntimes
Isolated by default. Connected on purpose.
Run each agent where it belongs: on your machine, in a microVM, in an OpenShell container, on another machine, or in a throwaway folder. Nothing is shared unless you share it. Hover an agent to see what it reaches; where two agents reach the same thing, they can meet.
cpb does not pass messages between agents. What it does is decide what each one can reach: a model backend, an MCP server, a folder. The places two agents have in common are the places they can meet, and nowhere else. The sandbox details are in the sandbox guide; OpenShell is experimental and needs Linux with Docker.
Recipes
Describe it once. Apply it anywhere.
A .cpb file is a recipe. APPLY checks all of it before it writes anything, --dry-run shows each change, and applying it twice changes nothing. SHOW CREATE ALL exports a whole machine as statements.
Templates
Start from a setup worth copying
Seven ready-made recipes, from a daily driver to a read-only reviewer to an agent in a sandbox. Pick one, switch things on and off, and the .cpb file writes itself. CI applies each of them with a real cpb.
The tour
Every command, with the output it really printed
The tour runs each snippet on a throwaway home against a real build, and CI re-checks them on every change.
~/.claude is never touched.
Routing & models Env sets, BLOCK VAR and a custom /model list.
Sandbox Let an agent loose without letting it near your machine.
The grammar APPLY --dry-run, SHOW CREATE and recipe files.
MCP & secrets Credentials by reference, never by value.
Sessions, SQL & the TUI Everything that is running, as tables, and cpb tui.
Testing
How it is tested
Every change is tested the same way, on the exact commit a release tags.
Get it
Install
Linux and macOS, amd64 and arm64 (no native Windows; WSL works). It installs claude-playbook and the shorter cpb.
$ curl -fsSL https://raw.githubusercontent.com/ramazanpolat/claude-playbooks/main/install.sh | sh