Skip to content

Smart Cleanup

Oleksandr Tk edited this page Aug 2, 2026 · 2 revisions

Smart Cleanup scans the system for cache files, temporary data, logs, and other removable content. Categories execute in parallel across all available cores.

Scan Database

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.

Scan Process

  1. Idle — choose optional categories to include
  2. Scanning — all categories are scanned simultaneously. Progress shows step count and current task
  3. Preview — results grouped by category. Each item shows size, risk level, and modification date
  4. Execute — selected items are moved to Trash (recoverable)
  5. Complete — summary of freed space, cleaned items, and any skipped paths

Risk Levels

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

Selection

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.

Optional Categories

Toggle these before scanning:

  • .DS_Store files
  • 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)

Path Purposes

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

Safety

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.

Debug Mode

When enabled in Settings, a log panel is available during and after cleanup, with script output, error details, and a copy-to-clipboard action.

Clone this wiki locally