avc trash
avc restore never permanently deletes an untracked file. Anything a restore sweeps out of the way is quarantined under .avc/trash/<op-id>/ instead, so nothing a restore removes is unrecoverable until you explicitly empty the trash.
Subcommands
Section titled “Subcommands”avc trash list # show quarantined files, grouped by operationavc trash restore <op-id> [path] # recover a quarantined file (or a whole op)avc trash empty # permanently delete all quarantined filesavc trash empty --older-than 7d # only delete entries older than a durationavc trash list
Section titled “avc trash list”avc trash listavc trash list --jsonGroups quarantined files by the restore operation that swept them. Each entry has an operation ID (a timestamp string like 2026-07-12T20-54-11-restore-abc123) you pass to restore.
[ { "op_id": "2026-07-12T20-54-11-restore-abc123", "kind": "restore", "created_at": "2026-07-12T20:54:11-04:00", "files": ["loose.txt"] }]Returns null when the trash is empty.
avc trash restore
Section titled “avc trash restore”avc trash restore 2026-07-12T20-54-11-restore-abc123 loose.txt # one fileavc trash restore 2026-07-12T20-54-11-restore-abc123 # every file in the opRecovers quarantined files back to their original locations. It never overwrites a live file — if something already exists at the target path, the restore refuses rather than clobbering it. The (now empty) operation directory is removed once its files are recovered.
avc trash empty
Section titled “avc trash empty”avc trash emptyavc trash empty --older-than 30d| Flag | Description |
|---|---|
--older-than <duration> | Only remove entries older than this (e.g. 7d, 24h) |
--json | JSON output |
Permanently deletes quarantined files. This is the only way trash contents are ever removed — AVC never auto-empties it.
See also
Section titled “See also”avc restore— the operation that quarantines filesavc undo— reverse the restore itself