Dustloft

Xcode leftovers: DerivedData, simulators and runtimes you can safely remove

Guide · 6 min read · Updated September 2026

Short answer: Xcode stores build artefacts in ~/Library/Developer/Xcode/DerivedData and simulator devices in ~/Library/Developer/CoreSimulator/Devices, both of which rebuild themselves. Installed simulator runtimes live under /Library/Developer/CoreSimulator and need an administrator prompt. All of it can survive uninstalling Xcode, which is how machines without Xcode still carry tens of gigabytes of it.

Xcode is the most reliable way to lose 40 GB without noticing. It writes to four locations, two in your home folder and two at the system level, and none of them are pruned automatically.

The four paths, and what each one costs you

PathWhat it holdsTier
~/Library/Developer/Xcode/DerivedDataBuild products, indexes, module cachesRegenerable
~/Library/Developer/CoreSimulator/DevicesEach simulated device and its installed appsRegenerable
/Library/Developer/CoreSimulator/CachesShared simulator cachesNeeds admin
/Library/Developer/CoreSimulator/Profiles/RuntimesInstalled iOS/watchOS/tvOS runtimesNeeds admin

The first two are yours and delete without a password. The second two sit under /Library and macOS will ask for an administrator prompt.

The orphaned case worth checking

Runtimes and simulator caches are installed outside the Xcode application bundle. Drag Xcode to the Trash and they stay exactly where they are, permanently, with nothing left on the machine that will ever use them again.

On the Mac these guides are written from, 13 GB of orphaned Xcode runtimes were still present. Dustloft checks whether /Applications/Xcode.app exists and labels those paths orphaned — Xcode is not installed when it does not, because that changes the decision entirely: there is no rebuild cost if nothing can rebuild it.

Removing them by hand

DerivedData is the safe first move and needs no password:

du -sh ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/DerivedData

For simulator devices, prefer the tool over rm, so CoreSimulator's own bookkeeping stays consistent:

xcrun simctl delete unavailable

That removes devices whose runtime is already gone — the safest subset, and often the largest.

What not to delete

Do not remove ~/Library/Developer/Xcode/UserData. It holds your code snippets, key bindings and breakpoints. It is small and it does not come back.

Be deliberate about iOS DeviceSupport. It is regenerable, but only by connecting and re-pairing each physical device, which is slow if you test on several.

The rest of a developer machine

Xcode is rarely alone. Dependency folders and build output usually cost more, and Docker's disk image is the other common surprise.

See exactly what is on your own disk

Dustloft measures every real consumer of space on your Mac and shows each item with its full path and size before anything is removed. Free, open source, no subscription.

Install Dustloft