DiscFree 1.0.4
What's new
- Reclaim window. A category-first list of everything reclaimable, opened with the Reclaim… toolbar button: each category shows its total, a risk badge (Safe / Costs time / Loses data) and a plain-language explanation of what deleting actually costs; items have checkboxes (simulators listed per device, by name) and the selection moves to the Trash in one confirmed step.
- Beyond developer junk. The catalog now also finds per-app caches, logs, local iOS device backups, Adobe Premiere/After Effects media caches, and Android artifacts (AVDs, SDK system images, Gradle wrapper, Kotlin/Native toolchains).
- Smarter chart highlight. The display-mode tabs became a single "Highlight reclaimable" switch, and folders whose junk sits deeper than the visible rings now glow proportionally instead of rendering an all-gray chart.
- App icon by @thoughtf00l.
Fixed
- Whole-volume scans no longer double-count user data reachable through APFS firmlinks (
/Usersvs/System/Volumes/Data/Users). - The live chart during a scan now shows all top-level sectors instead of a few.
- Xcode archives moved to their own
xcodeArchivescategory (they hold dSYMs and cannot be regenerated), soclean --category xcodeBuildnever selects them;Podsdirectories are no longer flagged (often committed to git);__pycache__noise is gone.
CLI
dev --json/clean --jsonitems now carry"risk": "safe" | "costs_time" | "loses_state"; AGENTS.md tells agents to cleanloses_stateitems only after explicit human confirmation. Humandevoutput is grouped by category.
Install
brew tap thoughtf00l/tap
brew trust thoughtf00l/tap # one-time, Homebrew 6+
brew install --cask discfreeSHA-256: 325220db7a70990a8a589ef715121d281d41b377a6bb394e8cb193cf653778f6
Troubleshooting the upgrade
A July 2026 Homebrew change (installed-cask receipts moved to JSON) can make brew upgrade fail for third-party tap casks with It seems there is already an App at '/Applications/DiscFree.app'. If you hit that, recover with a one-time reinstall, which rewrites the receipt:
brew reinstall --cask --force discfreeYour settings and the Full Disk Access grant survive — the bundle identity and signature are unchanged.