MacCleaner

Open source · macOS 14+

MacCleaner

Reclaim space, uninstall apps with leftovers, explore disk use, clean developer and AI toolchains, monitor CPU and memory, and schedule Smart Care — with visible paths and full control. Zero telemetry. Zero accounts. Zero cloud.

or

Universal Apple silicon + Intel · 10 languages · MIT · DMG 0.3.0 · CLI docs

Verifiable trust

A cleaner deserves transparency, not slogans. This is the contract.

Zero telemetry

No analytics, crash reporters, or phone-home. The app does not know who you are.

Fully local

Scans and cleanups work offline. Your paths never leave your Mac.

Visible paths

See what would be freed, select it yourself, stop anytime.

Features

Smart Care, deep uninstall, orphan finder, Space Explorer, startup tools, privacy hub, duplicates, similar photos, System Monitor, Developer Cleanup, scheduling, and more — every tool is local, selective, and path-visible.

Recently shipped

  • CLI — brew install --HEAD maccleaner-cli (separate formula + TUI)
  • App Updates — dedicated Homebrew cask upgrades + App Store shortcut
  • Progress bars with Stop on scans and cleans (where safe)
  • Cleanup History — local log, 14-day chart, shareable card (no upload)
  • Animated reclaim ribbons and System Monitor / menu bar meters
  • System Monitor parity — CPU deltas, icons, search/sort, helper grouping
  • Deeper uninstall — Strict / Enhanced / Deep + drag-and-drop .app
  • Developer Cleanup — Simulator runtimes, Docker, AI app caches
  • 10 languages including Greek and Russian

Smart Care

Multi-category reclaimable-space scan — you stay in control.

  • Run Smart Care with per-category progress
  • Metrics for reclaimable space, scanned size, and status
  • Click a module to open category detail
  • Clean selected items into the macOS Trash
  • Exclude paths you want to keep forever
  • Large & old files stay unselected until you review them
  • Stop during scan or cleanup — scan keeps running if you change sections

Scan categories

  • User caches & logs
  • Trash
  • Xcode DerivedData & Archives
  • Developer caches (npm, Homebrew, pip, Gradle, Yarn, pnpm, Cargo…)
  • AI app data (Ollama, LM Studio — never auto-selected)
  • Old downloads & disk images
  • Browser caches (Safari, Chrome, Firefox, Edge)
  • Mail Downloads & MailData
  • Large & old files (>100 MB or older than 1 year — never auto-selected)
  • App leftovers & invalid Launch Agents
  • System caches / logs / agents (admin + allowlist)

Applications

Mindful uninstall with related leftovers — nothing removed by surprise.

  • Browse user apps; search by name or bundle ID
  • Strict / Enhanced / Deep leftover matching (Team ID, vendor prefixes, Spotlight)
  • Drag a .app onto the window to review leftovers
  • Leftovers across Preferences, Caches, Application Support, Containers, Group Containers, Launch Agents, and more
  • Toggle whether to include the app bundle itself
  • Finder recycle for /Applications, with admin fallback when needed
  • Finder → Services → Uninstall with MacCleaner
  • System apps stay protected — uninstall disabled

Orphan Finder

Leftovers whose apps are already gone — review, select, Trash.

  • Match Library debris against currently installed bundle IDs
  • See path, kind, and size before acting
  • Select all or cherry-pick; move to Trash only what you choose
  • Reveal any leftover in Finder

Duplicate Finder

Exact copies only — size + SHA-256, with one protected file per group.

  • Choose any folder to scan
  • Hard links collapse to a single logical file
  • Packages, symlinks, and hidden items are skipped
  • Keep a protected original; move selected extras to Trash
  • Reveal any path in Finder before you act

Similar Photos

Visual estimate from local thumbnails — review only, never delete or upload.

  • Compare camera rolls and export folders on disk
  • Groups likely matches for side-by-side review
  • Reveal originals in Finder at full quality
  • Limits: 500 photos / 10,000 directory entries per scan
  • Cloud-only placeholders and app packages are skipped

Startup

Launch Agents and local snapshots that quietly eat disk or boot time.

  • List user Launch Agents; flag broken ones
  • Remove selected agents from the user domain only
  • Browse local Time Machine / APFS snapshots
  • Thin selected snapshots with an admin prompt when needed

Developer Cleanup

Toolchain caches, Simulator runtimes, Docker, and local AI models.

  • Xcode DerivedData, Archives, Device Support, Core Simulator
  • Simulator runtimes via simctl (permanent, opt-in)
  • Docker data folders plus optional builder prune when Docker is running
  • Ollama / LM Studio and package-manager caches
  • Folder targets go to Trash; simctl/Docker prune are labeled permanent

Space Explorer

Drill into any folder and see what actually takes space.

  • Open Home, Applications, or pick any directory
  • Children ranked by size with breadcrumbs
  • Reveal paths in Finder; navigate up or deeper
  • Measure-only — no silent deletes from this view

Privacy

See purgeable space and permission inventory — change nothing silently.

  • APFS purgeable estimate with optional snapshot thinning
  • Read-only TCC inventory for your user domain
  • Full Disk Access status
  • Deep links into System Settings and browser privacy panes

Cleanup History

Local log of what you freed — share a card, never upload a path.

  • Lifetime and 30-day totals across Smart Care, uninstall, orphans, and more
  • Animated 14-day chart of space freed
  • Share or copy a session card — image and text stay on your Mac
  • Clear or delete entries anytime; nothing is sent to a server

Schedule

Background Smart Care while MacCleaner stays in the menu bar.

  • Intervals from every hour to monthly
  • Optional auto-clean when reclaimable space meets a MB threshold
  • Run a cycle immediately from the Schedule screen
  • Works best with Full Disk Access and the menu bar icon enabled

System Monitor

Live CPU, memory, and apps — with search, sort, and helper grouping.

  • Host CPU/memory/disk/uptime with delta-based CPU sampling
  • Apps and processes with icons, live CPU%, memory, search, and sort
  • Helpers grouped under their parent app; show-all toggle for fuller lists
  • System processes left to Activity Monitor; jump there in one click
  • Maintenance: DNS flush (admin), Mail VACUUM, APFS snapshot thinning (admin), Launch Services rebuild
  • Menu bar glass panel keeps live meters while the app stays resident

Privileged helper

Elevated work only through a password prompt and an explicit path allowlist.

  • Admin bridge for system caches, logs, and agents
  • DNS flush and APFS snapshot thinning
  • Only allowlisted paths — never arbitrary shell
  • Roadmap: signed SMAppService daemon (see docs)

App Updates

Upgrade Homebrew cask apps you already manage with brew.

  • Lists outdated casks from your local Homebrew install
  • Select which apps to upgrade; stop between packages
  • Shows installed → available versions and missing app bundles
  • Shortcut to Mac App Store updates for non-Homebrew apps

Updates

MacCleaner releases from GitHub, with a Homebrew summary.

  • Compare local version with releases/version.json
  • Download from GitHub Releases and install to ~/Applications
  • Compact Homebrew cask summary linking to App Updates
  • Network only to GitHub (and local brew), and only when you ask

Onboarding & permissions

First launch asks for Full Disk Access so protected Library paths can be scanned.

  • Guided Full Disk Access slide with System Settings deep link
  • Recheck while you grant access; continue when ready
  • Banner on Smart Care if FDA is still off
  • Read-only FileVault / Gatekeeper status in Settings

Settings

Language, exclusions, and how MacCleaner stays out of the way.

  • Languages: System, English, Italian, German, French, Spanish, Portuguese (Brazil), Japanese, Simplified Chinese, Greek, Russian
  • Cleanup exclusion list for protected paths
  • Show menu bar icon / hide Dock icon
  • Launch at login
  • Install or remove from ~/Applications
  • Full quit only from Settings → Quit

Install

One universal build for Apple silicon and Intel — DMG, zip, or Homebrew. Version 0.3.0, Developer ID signed and notarized.

  1. Download

    MacCleaner-0.3.0.dmgNotarized

  2. Drag into Applications

    Open the disk image and drop MacCleaner.app into Applications.

  3. Open

    Launch from Applications — Gatekeeper accepts notarized builds.

Homebrew (app)

GUI app via cask — same 0.3.0 build as the DMG:

brew tap mponzo/maccleaner https://github.com/mponzo/MacCleaner
brew trust mponzo/maccleaner
brew install --cask maccleaner

Want the terminal tool instead? See Command line — brew install --HEAD maccleaner-cli (separate formula).

Command line

Install maccleaner on its own — separate from the GUI cask. Interactive TUI on a real terminal, or scriptable flags. Same engines as the app. Zero telemetry.

Homebrew (CLI)

Formula maccleaner-cli — does not install MacCleaner.app. Use --HEAD until the first cli-v* release asset is published:

brew tap mponzo/maccleaner https://github.com/mponzo/MacCleaner
brew install --HEAD maccleaner-cli

Upgrade / remove:

brew upgrade --fetch-HEAD maccleaner-cli
brew uninstall maccleaner-cli

From a clone

No tap required — builds a release binary and installs it to $(brew --prefix)/bin/maccleaner:

./Scripts/install-cli.sh
maccleaner --version

Maintainers: ./Scripts/package-cli.sh writes releases/maccleaner-cli-*.tar.gz and refreshes the Formula checksum for a future cli-v* GitHub release.

Usage

Workspace, cleanup, and scripts:

maccleaner                 # interactive workspace (TTY)
maccleaner clean           # select → review → type yes → Trash
maccleaner orphans         # orphan leftovers (TTY)
maccleaner --plain         # numbered prompts
maccleaner doctor
maccleaner scan --json
maccleaner clean --dry-run
maccleaner clean --confirm
maccleaner apps --leftovers

TUI keys

  • ↑↓ Move
  • Space Toggle item
  • A / N Select matching / clear
  • / Search
  • Enter Review / continue
  • Esc / Q Cancel

Interactive cleanup asks you to type yes before anything goes to the Trash. Use --include-privileged only when you want system allowlisted paths. After a cli-v* release, brew install maccleaner-cli (without --HEAD) will install the prebuilt binary.

Roadmap

Next updates in roughly this order — privileged helper and CLI packaging, then the high-value list we are tracking.

  1. 1
    Privileged helper (SMAppService)

    Signed helper instead of interactive password prompts for allowlisted system paths.

  2. 2
    CLI release + notarize

    Publish cli-v* tarball for brew install maccleaner-cli (formula already in-tree).

  3. 3
    Smart Care result filters

    Path search, size/age filters, select-visible, exclude from the context menu.

  4. 4
    Protection hub

    Firewall / SIP / XProtect / Gatekeeper as a config audit — not antivirus.

  5. 5
    FDA retry after grant

    Re-run the batch that failed without Full Disk Access once access is granted.

  6. 6
    Orphan ignore list

    Persistently skip false-positive leftovers.

  7. 7
    Empty Trash on external volumes

    Opt-in emptying of Trash on external disks.

Later / niche

  • Modern Login Items (System Settings)
  • In-app DMG auto-update
  • Hidden-files browser

Out of scope: RAM boosters, treating purgeable space as junk, and fake malware / FUD claims.