Projects · Active

zap

A terminal-native, agent-friendly app uninstaller. Dry-run by default, Trash not rm, undo always.
State
Active
Since
Aug 2026
Activity
2026-08-31
2011

Dragging an app to the Trash leaves its data behind. GUI cleaners fix that but can’t be scripted. zap finds an application and every leftover it scattered — preferences, caches, containers, launch agents, receipts — and removes them recoverably.

Three ideas hold it together: removal is a dry run unless you say otherwise; everything goes to the Trash and is journaled so zap undo can bring it back; and bundle ids come from the system, not from guesses. Pure Python stdlib, zero runtime dependencies, macOS and Linux.

The Reclaim Space feature (large files, old downloads, app leftovers) came from Featherweight, which was folded in rather than shipped alone.

On its first run on my own machine, it freed over 20 GB.

Changelog

2 entries

  1. Featherweight folded in as Reclaim Space milestone

    One tool instead of two. The standalone shell and licensing were pruned.

  2. A plan is a selection over a fresh scan

    One structural fix replaced three rounds of plan-file patches.