-
-
Notifications
You must be signed in to change notification settings - Fork 0
Smart Cleanup
Smart Cleanup scans the system for cache files, temporary data, logs, and other removable content. Categories execute in parallel across all available cores.
Cleanup paths come from a two-level database (engine_paths.json + ui_metadata.json) compiled into the app at build time:
- 1,770 path definitions
- 251 applications
- 66 CLI toolchains
Paths use tokenized templates (<CACHES>, <APP_SUPPORT>, <CONTAINERS>, etc.) resolved at runtime.
- Idle — choose optional categories to include
- Scanning — all categories are scanned simultaneously. Progress shows step count and current task
- Preview — results grouped by category. Each item shows size, risk level, and modification date
- Execute — selected items are moved to Trash (recoverable)
- Complete — summary of freed space, cleaned items, and any skipped paths
| Badge | Meaning |
|---|---|
| Safe | Temporary data, safe to remove |
| Moderate | May affect app startup speed |
| Dangerous | May reset app preferences or require re-login |
| Protected | System-protected path, cannot be deleted |
Nothing is deleted automatically. Risky and personal-content categories (orphaned remnants, old backups, AI/LLM model stores, installer packages, Messages attachments) start unselected and require explicit confirmation. Categories with a purple "DEV" badge are developer-related caches.
Toggle these before scanning:
-
.DS_Storefiles - Maven repository (
~/.m2) - Go module cache
- Flutter/Dart
.dart_tool - iCloud Documents
- Voice Memos
- GarageBand / Logic Pro
- iMovie / Final Cut Pro
- Sleep Image (hibernation file)
Every path in the database is classified:
| Purpose | Meaning |
|---|---|
cache |
Regenerable, cleaned by default |
app_data |
Uninstall-only, never touched by cleanup |
shared |
Shared with other apps, not automatic |
user_content |
Personal content, opt-in only |
All cleanup operations go through SafetyManager which blocks access to /System, /usr, /bin, ~/.ssh, and other critical paths. Symlinks are validated immediately before deletion. Files are trashed, not permanently deleted, unless the "Empty Trash During Cleanup" option is enabled.
When enabled in Settings, a log panel is available during and after cleanup, with script output, error details, and a copy-to-clipboard action.
Home · GitHub · Issues · Releases · Discussions
MacOSCleaner
Tools
System
Reference
Project