atl remove
Uninstall a team, removing only the files it installed — reversibly.
Usage
atl remove <handle>/<team> # remove from the project scope (default)
atl remove <handle>/<team> --global # remove from the user-global layer<handle>/<team> is the team's reference — the GitHub owner plus the team name, the same form you pass to atl install. Run atl list to see what's installed and at which scope.
Example
$ atl remove acme/example-team
atl remove: removed acme/example-team (17 files) from project scope — reversible with `atl gc --undo`If the team isn't installed at that scope:
$ atl remove acme/example-team
acme/example-team is not installed at project scopeWhat happens
- The install manifest for the team at the chosen scope is read from
<layer>/.atl/installed/<handle>__<name>.json—<layer>is~/.atlfor--global,<project>/.atlfor the project scope. - Every file the manifest recorded (under the installed asset dirs —
.claude/agents/,skills/,rules/,knowledge/,backends/,scripts/,packs/) is soft-deleted into~/.atl/gc-trash, not hard-deleted — so a promoted gain that landed in the manifest can always be recovered. - The directories that held those files are pruned, deepest first — but only the ones that are now empty. A directory still holding another team's files or your own content is left in place.
- The manifest itself is removed.
When files were soft-deleted, the removal is reversible: atl gc --undo restores the most recent batch, and atl gc --purge clears the trash for good. The output reports how many files were removed and from which scope:
atl remove: removed <handle>/<name> (N files) from <scope> scope — reversible with `atl gc --undo`If the manifest's files were already gone from disk, nothing is moved to ~/.atl/gc-trash — so the output omits the reversibility promise and reports that the files were already absent (only the manifest is dropped):
atl remove: dropped <handle>/<name> manifest from <scope> scope — no files were soft-deleted (they were already absent)Only manifest-recorded files are removed
atl remove deletes exactly the files the team registered when it was installed — nothing more. Anything else under .claude/ is left untouched: auto-grown agent children/ and learnings/, your own skills, wiki pages, journal entries, and any other content you authored. None of it was recorded in the manifest, so it survives the uninstall.
Scope
atl remove operates on the project scope by default — the .claude/ and .atl/ of the directory you run it in. Pass --global to remove a team from the user-global layer (~/.claude assets, ~/.atl manifest) instead.
A team can be installed at both scopes independently; removing one leaves the other in place. Run atl list to see which scope a team lives at before removing it.
Flags
| Flag | Effect |
|---|---|
--global | Remove from the user-global layer instead of the project. |
Related
atl list— see what's installed and at which scope.atl install— reinstall if you change your mind.atl update— refresh installed teams to the latest catalog version.