Open-source project
momenbasel/PureMac avatar
momenbasel/PureMac

PureMac: a MIT-licensed macOS cleaner with no telemetry and a real CLI

Free, open-source macOS cleaner. CleanMyMac alternative with zero telemetry. Native SwiftUI, scheduled auto-cleaning, Xcode/Homebrew/system cache cleanup. MIT licensed.

6,830 stars385 forksSwiftMIT

At a glance

What is it?
PureMac is a free, open-source SwiftUI cleaner for macOS 13 and later, installed with a Homebrew cask or a signed DMG. Its promise is explicit deletion behavior and no analytics, but some cleanup paths delete permanently rather than moving files to the Trash.
Who is it for?
Adopt PureMac if you are on macOS 13 or later, want a native SwiftUI cleaner you can audit under MIT, and are willing to read the deletion rules before enabling scheduled auto-clean. Skip it if you need a guarantee that every removal is recoverable, because dashboard and category cleanup, scheduled auto-clean, Trash emptying, Docker and Xcode runtime cleanup, administrator-authorized removal, local snapshot deletion and CLI cleanup can permanently delete data.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What PureMac is for, and the storage problem it answers

PureMac targets people who bought a Mac with a soldered SSD and cannot add capacity later. The README frames the problem that way: entry-level Macs ship with 256 GB drives, the next storage tier costs more than a midrange Windows laptop, and once you have paid for that space every gigabyte matters. The project positions itself against subscription cleaners that put disk usage behind a paywall, ship telemetry by default, and use alarm language such as a dramatized junk-detected badge.

Its audience is narrower than "every Mac user". It fits someone who wants a native SwiftUI app rather than a terminal-only tool, who cares that the binary is signed and notarized so there is no Gatekeeper workaround, and who wants to read the deletion code before trusting it. The stated scope covers cleanup, app management, storage exploration and system checks, with cache directories the OS itself would purge counted as genuinely junk.

How the cleanup pipeline is put together

PureMac is a Swift package laid out as a native app with a separate command-line front end. The repository has PureMac/ for the app, PureMacTests/, cli/, docs/, homebrew/, assets/, screenshots/ and scripts/, plus project.yml and PureMac.xcodeproj/. The README points readers at PureMac/Services and PureMac/Logic/Scanning as the two places where deletion decisions live, which is the useful part of the architecture: scanning logic is separated from the service layer that performs removal.

The CLI is a distinct binary installed from its own Homebrew tap, and it exposes a keyboard-driven workspace where you select individual cache paths, review project artifacts, or browse storage by size. Cleanup displays the exact selection and asks for confirmation before removing anything. Two flags matter for scripting: a dry run and JSON output. The deletion model is not uniform across the app, and the README is unusually direct about that. App uninstalls, orphan removal and exact-duplicate removal go to the Trash at user level. Dashboard and category cleanup, scheduled auto-clean, Trash emptying, Docker and Xcode runtime cleanup, administrator-authorized removal, local snapshot deletion and CLI cleanup can permanently delete data. That split is the single most important thing to understand before clicking anything.

Installing PureMac with Homebrew and running a first dry run

The README gives a one-line cask install. This pulls the signed, notarized build, so there is no quarantine workaround and no Gatekeeper warning to click through.

bash
brew install --cask puremac

If you would rather not use Homebrew, the README says to download the signed, notarized .dmg from the Releases page and drag PureMac into /Applications. The stated minimum is macOS 13.0.

For the command-line tool, the install comes from the author's tap and the binary is invoked as puremac. The README shows opening it for a keyboard-driven workspace where you select cache paths individually and see a running size total.

bash
brew install momenbasel/tap/puremac-cli
puremac

Before letting it delete anything, use the preview flag the README documents for developer caches. The dry run shows the selection without removing it, which is the cheapest way to learn what the tool considers junk on your machine.

bash
puremac clean dev --dry-run

For automation, the same command accepts a JSON output flag so a script can parse the result instead of scraping terminal text. The README points to cli/README.md for the full list of controls, commands and cleanup boundaries; it does not document rollback for the permanently-deleting paths, so treat the dry run as the safety net rather than an undo.

Where PureMac is the wrong tool

The honest limitation is the deletion model. Several paths bypass the Trash: dashboard and category cleanup, scheduled auto-clean, Trash emptying, Docker and Xcode runtime cleanup, administrator-authorized removal, local snapshot deletion and CLI cleanup. If your workflow assumes every removal is recoverable, PureMac is not that tool. The README does not document rollback for those paths.

Scheduled auto-clean compounds this. The README states that it remains unattended once enabled, so the confirmation step that protects manual cleanup does not apply. Enabling it before you have reviewed what the categories actually select is the failure mode to avoid.

There is also a selection subtlety worth knowing. Cleanup filters can hide selected items, and the select-visible controls affect only the rows currently on screen. If you filter a list, select everything visible, and confirm, you may be acting on a subset rather than the full selection you imagined. That is documented, but it is easy to miss.

Two more boundaries. The README explicitly refuses to claim purgeable space reclamation, RAM boosting or speed improvements, so anyone shopping for those outcomes should look elsewhere. And macOS 13.0 is the floor; older machines are out of scope.

PureMac compared with CleanMyMac, Pearcleaner and Mole

The README ships a comparison table, and the licensing row is the sharpest difference. CleanMyMac is closed source and priced at $40 or more per year. Pearcleaner is described as source-available under Apache 2.0 plus a Commons Clause, which the README notes is not OSI-approved because you may not sell it. PureMac is MIT, so forking and shipping your own build is permitted. That distinction matters if you want to redistribute a modified cleaner inside an organization.

Mole is the closest functional alternative and takes a different approach: the CLI is free while the GUI is paid, and it is terminal-first rather than a native Mac GUI. If you live in a shell and only want a cleaner there, Mole's model may suit you better. PureMac's answer is a native SwiftUI app plus a separate CLI, which means two installs and two mental models rather than one.

OnyX is free and native but the table marks it as having no app uninstaller with orphan removal and no Trash support for app uninstalls. Pearcleaner covers app uninstalling and orphans and is free. The README also claims PureMac is honest about purgeable space where CleanMyMac is not, and the comparison is dated 2026 with corrections invited by pull request.

Maintenance, licensing and what upgrades cost you

The repository is not archived, and the last push was on 2026-09-21. Releases are current: v3.0.0 landed on 2026-09-14, alongside cli-v1.1.1 and cli-v1.1.0 the same day. The app and the CLI version independently, so a CLI upgrade does not imply an app upgrade and the reverse is also true. Anyone pinning versions in a script should track the cli-v tags separately from the app releases.

Upgrade cost is mostly attention, not money. The cask install means brew upgrade --cask puremac handles the GUI, and the CLI comes from momenbasel/tap/puremac-cli. There is no subscription and no account, so there is nothing to cancel. What you pay in is review time: each release can change what a category selects, and because several cleanup paths delete permanently, reading the release notes before upgrading is cheaper than restoring from a backup.

The licence is MIT. That permits commercial use, modification and redistribution, and the README leans on it as the reason the deletion logic is auditable. It does not grant any warranty, and nothing here is legal advice. If you plan to redistribute a modified build, read the LICENSE file in the repository root rather than relying on the badge.

Editorial conclusion

Adopt PureMac if you are on macOS 13 or later, want a native SwiftUI cleaner you can audit under MIT, and are willing to read the deletion rules before enabling scheduled auto-clean. Skip it if you need a guarantee that every removal is recoverable, because dashboard and category cleanup, scheduled auto-clean, Trash emptying, Docker and Xcode runtime cleanup, administrator-authorized removal, local snapshot deletion and CLI cleanup can permanently delete data. Before your first cleanup, run puremac clean dev --dry-run and read the deletion behavior list in the README, then check PureMac/Services and PureMac/Logic/Scanning to see the code that decides what is removed.

Frequently asked questions

How do I install PureMac?

The README gives a single Homebrew command, brew install --cask puremac, or you can download the signed, notarized .dmg from the Releases page and drag PureMac into /Applications. The stated minimum is macOS 13.0. The command-line tool installs separately from the author's tap.

Is PureMac safe?

The README states that app uninstalls, orphan removal and exact-duplicate removal use the Trash at user level, but that dashboard and category cleanup, scheduled auto-clean, Trash emptying, Docker and Xcode runtime cleanup, administrator-authorized removal, local snapshot deletion and CLI cleanup can permanently delete data. It also states there is no telemetry, no analytics and no crash reporting. The README does not document rollback for the permanently-deleting paths.

Is PureMac legit?

PureMac is MIT licensed, the source is in the repository, and the README says the code that decides what gets removed lives in PureMac/Services and PureMac/Logic/Scanning. The build is signed and notarized by Apple, and the README states the app makes no network calls to the author.

How does PureMac compare with CleanMyMac?

The README's comparison table lists PureMac as free, MIT licensed, native, signed and notarized, with no telemetry and no subscription, while CleanMyMac is listed as closed source at $40 or more per year with telemetry. The table also claims PureMac is honest about purgeable space where CleanMyMac is not. The comparison is dated 2026 and corrections are invited by pull request.

Official sources

  1. License: MIT
  2. momenbasel/PureMac on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/momenbasel-puremac.svg)](https://hysenlabs.com/projects/momenbasel-puremac)