Remove artifacts
You want an artifact off this machine. Remove is completely offline: it reads the
manifest and the disk, never a catalog, so it works with no network
and with no catalog configured. For the complete flag surface, see the
remove reference.
Remove one or more ids
Section titled “Remove one or more ids”Pass qualified ids:
rigger remove example/guardrail:demo example/context:demo --yes--yes skips the confirmation. An unqualified id is rejected up front:
[error] unqualified id "skill:hello-rigger" — use `<catalog>/skill:hello-rigger` (see `rigger ls`)An id the manifest does not know is refused, and the message lists what is installed so you can pick the right one:
[error] Artifact "example/skill:nope" is not installed. Installed entries: example/agent:demo.Read the removal plan
Section titled “Read the removal plan”Remove shows a plan before writing, then a result. Each artifact contributes exactly the operations needed to undo what its install wrote:
--- Removal Plan ---Removal plan · 4 changes · scope: user (~/.claude)
- example/guardrail:demo ~/.claude/settings.json deny (-4) - Read(./.env) - Read(./.env.*) - Read(./**/.env) - Read(./secrets/**) allow (-1) - Read(./.env.example)
- example/context:demo ~/.claude/harness/AGENTS.md delete ~/.claude/harness/AGENTS.md unimport ~/.claude/CLAUDE.md
Σ deny -4 · allow -1 · 1 delete · 1 unimportThe ops in this plan, and the full vocabulary a plan can list, are enumerated in the
remove reference — that table is the source of truth. The
ones the sample above shows:
deny (-N)/allow (-N): removes the deny or allow rules the guardrail added tosettings.json.unimport: removes the managed@AGENTS.mdimport block fromCLAUDE.md.delete: deletes a file the install wrote.
Others you may see, depending on the artifact: restore (returns an overwritten file to its
pre-install content), unlink (removes the symlink into the
store; the next line states the store’s fate,
(deleted — last reference) or (kept — still referenced)), uninstall (delegates removal of a
plugin to the assistant), and un-hook (deregisters a
hook the install added).
A removal that changes something on disk asks for confirmation. An entry whose target already
vanished is purged from the manifest without a prompt (reported as purged (already absent)), since
it touches nothing on disk.
Removing a pack
Section titled “Removing a pack”A pack is expanded into its members at install time, so there is no pack entry to remove. Asking for one is refused with guidance:
[error] Pack "<id>" is not installed — packs are expanded at install time; remove their member artifacts instead. Installed entries: <ids>.List the members with rigger ls, then remove them by id.
A target you edited yourself
Section titled “A target you edited yourself”If you changed a file agent-rigger had installed, remove does not overwrite it or delete your version. It leaves the file in place and reports a warning instead of removing it. Nothing you edited is lost to a remove.
Where the backups are
Section titled “Where the backups are”Before it removes or replaces a file, remove takes a byte copy next to it with a
.bak-* suffix. The result block lists every one:
[backup] 3 file(s) backed up. ~ /Users/you/.claude/settings.json.bak-2026-07-12T13-57-19.084Z-50f11f03 ~ /Users/you/.claude/harness/AGENTS.md.bak-2026-07-12T13-57-19.085Z-a02b032a ~ /Users/you/.claude/CLAUDE.md.bak-2026-07-12T13-57-19.085Z-8349fb01The paths in the result block are absolute (the plan above abbreviates them to ~/.claude/…; the
result block does not).
These are your rollback: the tool never deletes a recent one.