What is taking up “System Data” on a developer’s Mac
Where developer tools hide tens of gigabytes on macOS: Xcode, package manager caches, simulators, Docker and local snapshots, with commands to measure each.
The storage bar in System Settings groups everything it cannot classify into “System Data”. On a developer’s Mac that bucket is mostly tool caches in your home folder, not the operating system.
Measure the usual suspects
du -sh ~/Library/Developer ~/Library/Caches ~/Library/Containers \
~/.npm ~/.cache ~/.gradle ~/.m2 ~/.cargo ~/go/pkg 2>/dev/null | sort -h
| Where | What it is | Clean it with |
|---|---|---|
~/Library/Developer | Xcode DerivedData, archives, device support, simulators | See the Xcode guide |
~/Library/Caches | App caches, plus Homebrew, pip, Yarn, JetBrains and others | The owning tool, where it has a command (brew cleanup, pip cache purge) |
~/.npm ~/.cache | npm cache; uv, Puppeteer, Playwright and many other tools | npm cache clean --force, uv cache prune |
~/.gradle ~/.m2 | Gradle caches and the Maven repository | Delete ~/.gradle/caches; dependencies download again on the next build |
~/.cargo ~/go/pkg | Cargo registry, Go module cache | cargo cache -a (with cargo-cache), go clean -modcache |
~/Library/Containers/com.docker.docker | Docker’s disk image | docker system prune; see the Docker guide |
Local Time Machine snapshots
tmutil listlocalsnapshots /
macOS keeps local snapshots and removes them by itself when space runs low, so they rarely need attention. They do explain why deleting a large folder sometimes frees nothing straight away.
Things that are not caches
Model weights in ~/.ollama or ~/.cache/huggingface, Python virtual environments, iPhone backups in ~/Library/Application Support/MobileSync, and anything under ~/Library/Mobile Documents (iCloud) are large and look like clutter, but deleting them loses real data or hours of downloads.
How Siftaway handles this
One scan covers all of the locations above, sorts them by size, says which tool owns each one and what it costs to rebuild, and keeps the “not caches” group visibly protected instead of offering it for deletion.