
/build-data is a fleet-wide view of the disk that Xcode consumes but never reclaims: per-project DerivedData folders, shared Xcode caches, and the iOS Device Support symbols kept for every iOS version that has ever been connected to one of your Macs.
Instead of visiting each machine and deleting folders by hand, you scan every enrolled agent at once, see which folders still belong to a live worktree and which are orphans, and delete across machines in a single action.
How a scan works
Nothing is read from disk until you ask for it, and measuring sizes is far more expensive than listing folders.Refresh lists the folders
Refresh dispatches a scan job to every eligible agent. Each agent walks its configured DerivedData directories and reports folder names, paths, modification times, and the volume each one lives on. The footer shows Scanned N of M eligible agents while this runs.
The server links folders to worktrees
Each folder’s recorded workspace path is matched against the worktrees known for that agent, choosing the longest matching path. That match is what turns a nameless
MyApp-abc123 folder into a row you can act on confidently.Calculate sizes on demand
Calculate sizes sends a second job that measures disk usage for the selected entries. Until then the Disk usage column is empty — sizing a large DerivedData tree is slow, so it is never done automatically.
Select and delete
Select rows and use Delete selected, or delete a single row from its actions menu. Deletion is dispatched per agent and always requires an explicit confirmation.
Derived Data
Entry statuses
Locking
Lock from cleanup marks an entry as protected. A locked entry is excluded from the automatic reclamation described below, and deleting it by hand requires a second confirmation that lists exactly which folders are protected. The same protection covers entries with executing work — a build or run currently using that worktree — even when they are not locked.iOS Device Support
Xcode keeps a folder of symbols and support files for every iOS version it has ever seen on a connected device. These accumulate for years and are commonly the largest single reclaim on a developer Mac. The card lists them by iOS version, Disk usage, and Agent, and supports the same select-and-delete flow.Deleting these is low-risk. Xcode recreates the folder for a given iOS version the next time a device running it is connected — you pay one slow reconnect, not a permanent loss.
Automatic cleanup
The Disk Space monitor in the sidebar can reclaim DerivedData on its own when a monitored volume runs low. It is deliberately conservative:- Only project entries linked to a known worktree are eligible. Unlinked folders, shared caches, and Device Support are never touched automatically.
- Locked entries and worktrees with executing work are excluded, and the check is repeated immediately before deletion in case work started in between.
- Exactly one entry — the oldest by modification time on the low volume — is removed per pass, then the monitor waits for the next disk report to decide whether more is needed.
Deletion history
The Deletion history card lists what was removed from each agent over the last 90 days, with the folder, worktree path, agent, deletion time, and whether the source was User or Automatic. Long histories page with Load more. Clear history empties the records only. It does not restore anything, and it does not touch files on any agent.Notes
- Which directories are scanned depends on each agent’s DerivedData location setting, so an agent using a non-default location is scanned there.
- Deletion requires the target agent to be online at the moment the job is created — an offline agent’s entries cannot be removed until it reconnects.
- Sizes are a point-in-time measurement. Rescan before acting on numbers from an earlier session.
- Removing DerivedData never affects source code, worktrees, or Git state. The cost is a slower next build.
Related pages
Worktrees
The worktrees that Derived Data entries are matched against.
Builds
The builds that create these folders in the first place.
