Meowtenance app icon: a white cat on an indigo-to-teal background Meowtenance™

Reclaim disk space
without re-downloading your packages.

Meowtenance finds the build caches, simulator data and app junk that pile up on a Mac developer's disk, shows you what each one actually costs, and lets you choose what goes — down to the individual project.

Meowtenance main window listing cache categories with their sizes
Nothing is selected when it opens. You decide what goes.

Version 2.3 · macOS 14 Sonoma or later · Apple Silicon and Intel · Signed and notarised by Apple · No account, no telemetry.

Where the space actually goes

Measured on one iOS developer's Mac on 28 August 2026. These are real numbers from a single machine, not an average — your Mac will look different. The free version shows you your own numbers before anything is deleted.

WhatWhy it survivesSize
SwiftUI Preview cacheEach preview device copies ~650 MB of system data7.13 GB
Xcode DerivedDataBuild output across 9 projects4.32 GB
Simulator symbolicationInside each simulator, cleanable without deleting the device3.44 GB
User cachesNever pruned by anything2.58 GB
In-app web cachesElectron apps: Figma, VS Code, Slack…1.28 GB
Xcode documentation cacheRe-downloads on demand0.92 GB
Everything elseLogs, diagnostics, crash reports, package caches8.49 GB
Simulator devicesListed separately — deleting one removes the whole device22.80 GB
Reclaimable50.96 GB

It keeps the part that costs you time

DerivedData holds two very different things. Build output regenerates in minutes. Swift Package checkouts have to come back over the network — and on a slow connection that is the difference between a coffee and an afternoon.

Meowtenance deletes the first and keeps the second. Not just inside DerivedData: the shared SwiftPM cache in ~/Library/Caches is protected too, so a general cache sweep can't quietly undo it.

0.62 GB preserved

Global SwiftPM cache left untouched on the machine measured above — bare git clones and binary artifacts that would otherwise be re-fetched.

Per-project, not all-or-nothing

Every project in DerivedData is its own row with its own size. Clear the two you finished last year, leave the one you are working in today.

DerivedData expanded into one selectable row per Xcode project, each marked SourcePackages is preserved
Every project its own row — and every one of them keeps its packages.

It tells you the truth about what it deleted

Most cleaners report what they intended to delete. Meowtenance measures the folder again after deleting, compares, and reports the difference.

If another app was holding files open — editors, sync clients and background builds do this constantly — you get "partially cleaned" and the name of the category, not a green checkmark over 2 GB that never went anywhere.

Result card reading Cleanup partly completed, naming the category that could not be fully emptied
A real run: one category was locked by a running app, and it says so.

Built to be boring about safety

Nothing is pre-selected

The app opens with every checkbox empty. It never decides for you what is disposable.

System folders are allowlisted

Privileged deletion is limited to a fixed list compiled into the app. macOS shows its own password dialog; the app never sees, stores or transmits your password.

Guesses go to the Trash

The optional heuristic scan can surface junk nobody predefined. Those items are moved to the Trash, never deleted outright, so you can put them back.

No network, no telemetry

The app makes no network requests of its own, collects nothing, and needs no account. Everything happens on your machine.

Confirmation dialog stating the exact amount to be deleted and that the files cannot be recovered
Every run is confirmed with the exact amount, and told plainly what cannot be undone.

Free and full

One-time purchase. No subscription, no licence server, no account.

Free

$0

Scan everything, clean whole categories.

  • Full scan of every category
  • Cleans whole categories
  • SwiftPM and CocoaPods caches kept unless you tick them
  • Heuristic deep scan
  • Six languages, switchable in-app
Download · 1.7 MB

Try it before you pay. Version 2.3 is signed and notarised by Apple, so it opens without warnings. The free version scans everything and cleans whole categories. When you want to choose exactly what goes, the full version is $14, paid once.

And there are cats

While the app deletes and re-scans, a cat grooms itself. It is drawn from scratch in one of twelve art movements, chosen at random — impressionism, cubism, pop art, constructivism and nine more — with the pool weighted so you keep seeing new ones.

The grooming cat animation drawn in twelve different art movements: impressionism, minimalism, pop art, conceptual art, expressionism, cubism, fauvism, futurism, dadaism, surrealism, abstract art and constructivism

Every cat, and the app icon, is original vector art generated by the app itself. No stock assets, no third-party illustrations, no licensed fonts.