Backup and restore
Your crew is a git repository, and your orchestrator commits every change to it. Say “back up my crew to GitHub”: your orchestrator shows the repository it will create (<your GitHub user>/cadrei-<name>, private) and, on your yes, creates it with gh and pushes. From then on it pushes after each commit.
On a new machine, run cadrei and press r on the first run’s plan. Type the repo (you/cadrei-main, or a URL), and cadrei shows a plan to copy it into ~/.cadrei/<name> (named after the repo, so cadrei-main becomes main; it asks for a name only when that one’s taken). After Enter, it checks the copy before anything takes effect:
- A backup that isn’t a crew (no
membersfolder), or one with a link where cadrei reads its files or runs sessions (members,teams/,.claude/, the top folder), isn’t kept: cadrei would follow the link out of the crew. - Files that Claude Code loads into your orchestrator once you trust the crew’s folder (
.claude/settings.jsonandsettings.local.json,.claude/commands,agents,skillsandoutput-styles,.mcp.json,CLAUDE.md,CLAUDE.local.md) are listed, and your orchestrator opens only after your yes (the default is no). Cadrei never writes these itself; on a no, look at them and remove any you didn’t put there. - The projects are listed with their repositories. Ones already in your projects folder are linked, and the rest are cloned, after your yes (
Press Enter for yes, type another folder, or press n to skip). Only clones without their own Claude Code settings are trusted; the others are added but not trusted until you ask. Onnthey stay “not on this machine”, for your orchestrator to offer later. - The restored crew’s folder isn’t trusted in advance, so Claude Code asks once. Say yes only if it’s your backup.
Projects with no repo are listed as missing until you link them. Your orchestrator greets you as on any later run, since the crew isn’t new.
| Travels with the crew | Stays on each machine |
|---|---|
members, playbook, projects.yaml, cadrei.conf (with your tmux choice), protocol.md, grants, teams/ |
project folders and where they are (.claude/local/), ~/.cadrei/config, .claude/build |
Claude Code’s chats and memory live in Claude Code’s own folder, not in the crew, so on a new machine members start fresh chats with the same setup. Grants that name a local path travel as written and apply only where that path exists.
No credentials in a backup. Cadrei writes no tokens into a crew. A pre-push hook in each crew repository (.git/hooks/pre-push, running cadrei hook pre-push) refuses a push that carries files that look like credentials (.credentials.json, .env files, private keys, tokens such as sk-ant-, ghp_ or github_pat_, and a password or token in a URL), files over 50 MB, or this machine’s own .claude/local/ files, and names each one. A pre-push hook of your own is left alone, and the health check says so. Members follow the same idea: they never write a real-looking secret, not even a fake one, and use a placeholder instead.