avc gc
Scans .avc/objects/ and identifies blobs no longer referenced by any snapshot — typically left behind after deleting branches or snapshots.
By default this is a dry run: it reports what would be deleted without removing anything.
avc gc # preview what would be removedavc gc --run # delete and reclaim disk spaceavc gc --json| Flag | Description |
|---|---|
--run | Actually delete unreferenced objects (default is dry-run) |
--grace <duration> | Skip objects newer than this age (default 15m) so an in-flight snapshot is never collected |
--json | JSON output |
JSON output
Section titled “JSON output”{ "scanned_objects": 1204, "deleted_objects": 37, "bytes_reclaimed": 4423680, "skipped_recent": 2, "dry_run": true}skipped_recent counts objects spared by the grace period — objects written more recently than --grace are never deleted, so a snapshot in progress on another process can’t have its just-written blobs collected out from under it.
Typical workflow
Section titled “Typical workflow”avc branch delete feat-old-experimentavc gc # see what's now unreferencedavc gc --run # actually reclaim the spaceObject content is never modified — avc gc only removes blobs that no snapshot, on any branch, points to. See Concepts → Storage for how the content-addressed object store works.