Purgeable space & APFS snapshots

Mac Says 'Available' but Disk Is Full: Purgeable Space Explained

Your Mac shows 18 GB "Available" in Finder, yet apps crash, Time Machine refuses to back up, and downloads fail with "not enough disk space." This contradiction trips up a surprising number of macOS users, and the cause is almost always purgeable space: gigabytes that macOS counts as available but has not actually cleared yet. This article explains exactly what purgeable space is, why it causes the "disk full but shows available space" paradox, and what you can do to resolve it.

What "Available" Really Means in macOS

Open Finder and press Cmd + I on your startup disk, or go to Apple menu > System Information > Storage (on macOS Sonoma and later, that is System Settings > General > Storage). You will see two relevant numbers:

  • Available: free space plus purgeable space. macOS assumes it can recover purgeable bytes on demand, so it optimistically adds them to the "available" total.
  • Purgeable: data macOS has marked as safe to delete automatically, but has not removed yet.

The number that matters to apps trying to write a file is the truly free space: available minus purgeable. When that real free space drops to a few hundred megabytes, the kernel starts returning "no space left on device" errors even though Finder happily shows multiple gigabytes as available.

What Fills the Purgeable Bucket

Purgeable space is a category, not a single file. Several macOS subsystems contribute to it:

iCloud Drive local copies

When iCloud Drive's "Optimize Mac Storage" is on (System Settings > Apple ID > iCloud > iCloud Drive > Optimize Storage), files that exist in iCloud and have not been opened recently are marked purgeable. macOS can evict them, but has not yet done so. The files still appear in Finder with a small cloud icon.

APFS local snapshots

Time Machine on APFS volumes creates local snapshots hourly, even when your external backup drive is not connected. Each snapshot preserves a point-in-time copy of changed blocks. List yours right now in Terminal:

tmutil listlocalsnapshots /

You might see dozens of entries like com.apple.TimeMachine.2026-05-28-083142. On a laptop that has not connected to a backup drive in a week, these can easily consume 20 to 40 GB, all of it counted as purgeable.

Optimized Storage downloads

The "Optimize Storage" feature in System Settings > General > Storage can offload Apple TV purchases, older Mail attachments, and other content to iCloud while keeping stubs locally. That offloaded content is purgeable until it is actually evicted.

App caches and system caches

macOS does not count ordinary caches (under ~/Library/Caches or /Library/Caches) as purgeable in the storage bar. Those show up in "System Data" instead. Do not confuse them with the iCloud and snapshot categories above.

Why Apps See "Disk Full" Despite Available Space on Mac

The kernel enforces a low-watermark on truly free blocks. When free space (not counting purgeable) falls below roughly 500 MB to 1 GB, macOS will try to reclaim purgeable space automatically. The key word is "try": the purge is asynchronous and not instant. An app that needs 2 GB right now does not wait for macOS to slowly evict iCloud copies and delete snapshots. It asks for blocks, finds none, and fails.

This is the core reason you experience the "disk full but shows available space on Mac" situation: the optimistic storage gauge and the kernel's block allocator are measuring different things.

How to Check Your True Free Space

Terminal gives you the honest number. Run:

df -h /

The Avail column in that output is the actual free space the kernel will hand to an app. Compare it to what Finder shows. If there is a significant gap, purgeable space is the explanation.

You can also check storage pressure in Activity Monitor: open Activity Monitor > Disk tab and look at the "Disk Usage" at the bottom, though the most reliable signal is still df -h /.

How to Reclaim Purgeable Space

Option 1: Delete APFS local snapshots manually

This is usually the fastest way to recover large amounts of space. List snapshots and then delete old ones:

tmutil listlocalsnapshots /
tmutil deletelocalsnapshots YYYY-MM-DD-HHMMSS

Replace YYYY-MM-DD-HHMMSS with the date-time string from the list. To delete all local snapshots at once:

for snap in $(tmutil listlocalsnapshots / | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}'); do
  tmutil deletelocalsnapshots "$snap"
done

Note: this does not disable Time Machine or affect backups already on your external drive. It only removes the local on-disk copies.

Option 2: Force iCloud to evict purgeable files

Open Terminal and run:

sudo du -sh /.MobileBackups 2>/dev/null || true
tmutil thinlocalsnapshots / 4000000000 4

The second command asks Time Machine to thin snapshots until at least 4 GB is freed, at urgency level 4 (highest). macOS may take a minute to comply.

For iCloud Drive specifically, you can trigger eviction of already-uploaded files via Finder: right-click a folder inside ~/Library/Mobile Documents/com~apple~CloudDocs/ and choose "Remove Download" if the option appears.

Option 3: Turn off Optimize Mac Storage temporarily

Go to System Settings > General > Storage and disable "Store in iCloud" or "Optimize Mac Storage." macOS will stop offloading and evicting files, which stabilizes the free-space reading at the cost of using more disk. Useful if you need reliable free space for video editing or virtual machine work.

Option 4: Clear genuine caches and app leftovers

If purgeable space is not the main culprit and your disk is simply full of real data, check these locations manually:

  • ~/Library/Caches: per-user app caches. Many are safe to clear; reopen the app and it rebuilds them.
  • ~/Library/Application Support: leftovers from deleted apps often live here.
  • /Library/Caches: system-wide caches. Proceed carefully; some are actively used.
  • ~/Library/Containers: sandboxed app data. Very large folders here often belong to apps you no longer use.

In Terminal, list the largest items in your caches folder:

du -sh ~/Library/Caches/* | sort -rh | head -20

macOS Available vs Free Space: The Storage Bar Decoded

The colored storage bar in System Settings > General > Storage breaks your disk into categories. "System Data" is one of the most confusing: it bundles caches, logs, temporary files, VM swap, and anything macOS cannot neatly categorize. It does not include purgeable iCloud or snapshots, which appear in their own thin sliver or are absorbed into "Available."

If "System Data" shows more than 15 to 20 GB on a machine that has not been used for heavy development work, that is worth investigating separately. But if your available number keeps fluctuating wildly day to day, snapshots and iCloud are almost always the cause of the purgeable space disk full pattern you are seeing.

Preventing the Problem

  • Connect your Time Machine drive regularly. When Time Machine successfully backs up to the external drive, it prunes the local snapshots automatically.
  • Keep at least 15 to 20 GB genuinely free on the startup volume. macOS needs headroom for swap files, APFS copy-on-write operations, and transient caches. Running below 10 GB of real free space invites instability.
  • Check storage quarterly rather than waiting for errors. The storage panel and a quick df -h / take thirty seconds.

If you want a clearer picture without opening Terminal, Crumb shows the true free number separately from the optimistic "available" figure, lists your local snapshots by size so you can delete them in one click, and maps what is actually consuming space across the whole disk. It runs entirely on-device and needs no account.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Why does my Mac say I have space available but I still get a disk full error?
The 'Available' number in Finder includes purgeable space: data like APFS local snapshots and iCloud-optimized files that macOS can theoretically reclaim but has not yet removed. When an app requests disk blocks right now, only truly free space counts. If that real free number is near zero, you get disk full errors even though Finder shows several gigabytes available.
What is purgeable space on a Mac and is it safe to delete?
Purgeable space is data macOS has flagged for eventual removal: primarily APFS local Time Machine snapshots and local copies of iCloud Drive files that are already uploaded to iCloud. Deleting local snapshots via 'tmutil deletelocalsnapshots' is safe because the data already exists either on your external Time Machine drive or in iCloud. You are not deleting any unique copy.
How do I force macOS to clear purgeable space immediately?
Run 'tmutil thinlocalsnapshots / 4000000000 4' in Terminal to ask macOS to reclaim at least 4 GB from local snapshots at the highest urgency. You can also delete individual snapshots by name using 'tmutil deletelocalsnapshots YYYY-MM-DD-HHMMSS'. Simply copying a large file to the desktop and then deleting it can also trigger automatic purging, though the Terminal approach is more reliable.
How can I see my actual free space, not the optimistic available number?
Open Terminal and run 'df -h /'. The 'Avail' column shows the real free space the kernel will allocate to applications. This number excludes purgeable space, so it is usually lower than what Finder's Get Info window reports.
Will turning off iCloud Optimize Storage fix the purgeable space problem?
It will stabilize your free-space reading because macOS will stop marking local files as purgeable for iCloud offloading. However, your disk will then hold full local copies of all iCloud Drive files, which may consume more total space. It is a useful setting to disable when you need consistent free space for tasks like video editing or running virtual machines.