Use Terminal to find what is big first, then clear only that: tmutil thins Time Machine local snapshots, du lists the biggest folders, and each developer tool has its own cleanup command. Avoid deleting anything under /System, /Library or /private by hand, and never run rm -rf on a folder you haven’t identified.
- List and thin Time Machine local snapshots with tmutil.
- Find the biggest folders in your Library with du.
- Clear caches of closed apps by moving them to the Trash.
- Clean developer files with each tool’s own command.
1. Snapshots
tmutil listlocalsnapshots /
sudo tmutil thinlocalsnapshots / 999999999999 42. Find the biggest folders
du -sh ~/Library/* 2>/dev/null | sort -h | tail -15
du -sh ~/Library/Caches/* 2>/dev/null | sort -h | tail -153. Move a cache to the Trash (recoverable)
Quit the app first, then (replace the name with the folder you found):
mv ~/Library/Caches/com.example.app ~/.Trash/Moving to the Trash instead of rm means you can put it back.
4. Developer files, with their own tools
xcrun simctl delete unavailable # old iOS simulators
rm -rf ~/Library/Developer/Xcode/DerivedData/* # Xcode rebuilds this
docker system prune # unused Docker data
brew cleanup # old Homebrew downloads
ollama rm <model> # a local AI model
Let Tidy Mac do this for you
See every part of your storage explained, and clear junk to the Trash with Undo. $9.99 once, 2 Macs.
What not to touch
/System, /Library, /private/var (except via the commands above), ~/Library/Mobile Documents (iCloud Drive), Mail and Messages folders, and Keychains.
Prefer clicking? The free cleanup commands tool builds these for you. Tidy Mac's Clean screen sorts caches and developer files into Safe to clear, Worth a look and Kept, and moves what you pick to the Trash, with Undo in History. Snapshots, simulator devices and Ollama models stay with the commands above.