For developers

A Mac cleaner for developers

RefreshYourMac finds what development tools leave behind — Xcode build output and simulators, package caches, project dependencies and AI coding tool data — and rates each one for what clearing it costs, before anything is deleted.

It was built on a developer's Mac, by a developer whose disk kept filling up with build output, caches and simulators. Of its 45 categories, 24 exist because of development tools.

RefreshYourMac's Safe to Remove list sorted by size: Xcode Derived Data at 12.37 GB, then Application Caches, iOS Device Support, SwiftUI Previews and Homebrew Downloads, each with Details and Clean buttons.
Sorted by size, in the app's screenshot mode: every figure here is sample data.

What it finds

Each is its own row, sized separately and given one of the four safety levels — which decides what the Clean button is allowed to do with it.

Xcode and the simulators

  • Xcode Derived DataSafe to RemoveBuild output and indexes, one folder per project
  • iOS Device SupportSafe to RemoveSymbols copied from every device you have connected
  • iPhone Support CachesSafe to RemoveCoreDevice caches from installing and debugging on a phone
  • SwiftUI PreviewsSafe to RemoveSimulators made for Xcode's canvas
  • Xcode SimulatorsReviewEach simulated device, with its apps and data
  • Simulator RuntimesReviewOne per iOS or watchOS version downloaded
  • Simulator Shared CacheReviewOwned by the system, so macOS asks for your password
  • Xcode ArchivesMove to BackupDistributed builds, and the symbols that read their crash reports

Package managers

  • NPM CacheSafe to Removenpm's download cache and npx installs
  • Yarn & pnpm CachesSafe to RemoveTheir caches and the pnpm store
  • CocoaPods CacheSafe to RemoveDownloaded pods
  • Gradle CachesSafe to RemoveDependencies, build outputs and downloaded Gradle versions
  • Homebrew DownloadsSafe to RemoveOld bottles and downloads, after brew cleanup --prune=all
  • Python User PackagesReviewInstalled with pip --user; moved to the Trash

Your projects

  • Project Build FoldersReviewnode_modules, Pods, .dart_tool, .next, dist, target, .build and more, inside ~/Projects

Android

  • Android EmulatorsReviewEach emulator's disk image
  • Android SDK ExtrasReviewThe NDK, system images and the emulator

AI coding tools

  • Claude Code Build FoldersSafe to RemoveXcode build trees Claude Code sessions leave behind
  • Codex Updater CacheSafe to RemoveDownloaded Codex updates
  • Codex RuntimesSafe to RemoveRuntimes Codex downloads to run code
  • Claude Code ScratchpadsReviewWhat earlier sessions left in /private/tmp
  • Claude Desktop CachesReviewThe Claude app's web cache, updater downloads and simulator builds
  • Codex Sessions & PluginsMove to BackupYour Codex history: not a cache
  • Old Codex Project CheckoutsMove to BackupDated copies of projects from past sessions

Built around how developers work

  • A build tree is never deleted under a running tool. A scheduled clean skips the Xcode categories while Xcode is open, and the Codex ones while Codex is, and says so in its history. Claude Code's build folders are never cleaned on a schedule at all, because the app cannot tell whether a session in Terminal is mid-build.
  • Every project build folder says how to get it back — npm install, pod install, flutter pub get, cargo build — on its own row, before you clean it.
  • Symlinks are never followed, so a dependency folder that points at an external drive is neither counted nor deleted.
  • No byte is counted twice. Where one category sits inside another — Claude Code's build folders inside its scratchpads, say — the inner one is taken out of the outer one's size.
  • Running Now lists the simulators left booted and the log watchers tools started and forgot, with what each is costing in CPU and memory, and shuts down or stops the ones you pick. Those are the usual reason a developer's fan will not stop.

Most of it comes back

Build output and package caches regenerate by design, so clearing them is maintenance rather than a one-off. On the Mac this app was built on, three weeks after a clean, what had built up again by 1 October 2026 included 7.9 GB in one simulator runtime (iOS 26.5), 5.66 GB of simulators, 1.56 GB of Codex runtimes and 0.67 GB of DerivedData — one Mac on one day, not a promise about yours. A scheduled clean of the Safe to Remove categories keeps the regrowth from mounting up.

Guides