Fixing Unexpected Disk Usage from Time Machine Local Snapshots on macOS
A non-destructive Time Machine local-snapshot workflow covering APFS accounting, inventory, backup health, supported thinning, deletion, and verification.
Time Machine can keep local APFS snapshots when its backup destination is unavailable and may create snapshots around system updates. Their blocks can appear in storage accounting while macOS treats much of the space as purgeable. A low “free” number alone is not proof that snapshots are broken or that deleting all history is the right fix.
Confirm the storage symptom
Record the macOS version, volume layout, available/purgeable space, actual failed operation, and Time Machine destination status. Compare Finder/System Settings storage with APFS and Time Machine tools rather than adding unlike categories. APFS snapshots share blocks with the live volume; logical snapshot size is not necessarily incremental physical usage.
List local Time Machine snapshots with the supported command:
tmutil listlocalsnapshots /
diskutil apfs listSnapshots /
tmutil destinationinfo
tmutil status
diskutil may show snapshots from other system facilities as well. Do not assume every APFS snapshot belongs to Time Machine or is safe to remove with a Time Machine command. Record dates, volume, purgeable status, and creating service where available.
Repair backup flow before reclaiming history
If the destination is expected to be available, verify it is mounted/reachable, has space, accepts authentication, and completes a backup. Repeated local accumulation can be a consequence of a destination or network failure. Start a backup from System Settings or tmutil startbackup only after the destination is correct, then wait for completion and check the result.
Do not exclude important data merely to shrink snapshots. Exclusions reduce future recoverability and may not reclaim existing APFS blocks as expected. Similarly, deleting caches inside the live volume can create more snapshot divergence until old snapshots expire.
macOS automatically ages and thins local snapshots and considers their space available for many allocations. If a real operation still fails for lack of space, first remove ordinary expendable data, empty application-controlled trash, and ensure the volume is healthy. Keep a verified external backup before manual snapshot removal.
Use supported thinning or targeted deletion
tmutil thinlocalsnapshots asks Time Machine to reclaim a requested amount from a volume under an urgency policy. Syntax and behavior are defined by the installed tmutil manual, so review man tmutil before automation. A controlled invocation can be preferable to deleting every snapshot because the system selects candidates.
For a clearly identified Time Machine snapshot, tmutil deletelocalsnapshots supports targeted removal by date on versions that document it. Copy the timestamp from listlocalsnapshots; do not improvise APFS commands against the system volume or delete update/boot snapshots by name.
Deletion does not guarantee an immediate one-for-one increase in free bytes. Shared extents, APFS cleanup, other snapshots, swap, and caches affect the result. Re-list snapshots, wait for APFS accounting to settle, and check whether the originally failing workload now succeeds.
Verify recovery instead of celebrating a number
Complete one external Time Machine backup, browse it, and restore a harmless test file. Reboot only if needed for the original workflow, then confirm snapshot growth returns to normal. If snapshots immediately accumulate while the destination remains unavailable, fix the destination. If non-Time-Machine snapshots dominate, identify their owner before removal.
Local snapshots are useful short-term recovery points, not garbage by definition. The surgical fix distinguishes logical from physical usage, preserves a real backup, restores the normal backup pipeline, and deletes only supported, identified snapshots when an actual allocation failure requires it.
Related:
- Rosetta 2 on Apple Silicon: Translation, Caching, and the Boundaries of x86 Compatibility
- Network Extension on macOS: VPNs, Content Filters, DNS Proxies, and System Boundaries
Sources: