/rhiza:detach¶
Detach the repo from rhiza by removing every rhiza-managed file.
Destructive
This deletes files. It prompts for confirmation unless --force is passed.
The optional argument is the repo root to operate on; it defaults to the current repo.
What it does¶
Runs the bundled plugin/scripts/detach.py — stdlib-only — which:
- deletes every file listed in
.rhiza/template.lock, - prunes the directories left empty by those deletions,
- removes the lock file itself.
This detaches a repo, not the plugin¶
The two sound similar and are unrelated. Neither substitutes for the other:
| What it removes | Where the effect lands | |
|---|---|---|
/plugin → uninstall |
The rhiza plugin itself | Your Claude Code installation |
/rhiza:detach |
Files rhiza synced into a repo | A codebase, as a commit |
Uninstalling the plugin leaves every synced file sitting in each managed repo — the CI
workflows, Makefile, the docs base, .rhiza/template.lock. They keep
working; there is simply nothing left that maintains them. Conversely /rhiza:detach
strips one repo clean and leaves the plugin installed, which is what you want when you
are releasing a single project from template management but still using rhiza elsewhere.
So this is the inverse of the sync, not of the installation.
Notes¶
- Works without the
rhizaCLI installed. - Undoes what a sync materialized; it does not touch your own hand-written files (only those tracked in the lock).
Reference¶
| Source | plugin/skills/detach/SKILL.md |
| Invocation | /rhiza:detach [path to a repo root] (optional; defaults to the current repo) |
| Model-invocable | no — excluded from model invocation |
| Allowed tools | Bash(uv*), Bash(python3*), Read |