← Blog

Deleted 40 GB and the Mac still says the disk is full. Here is what is holding it

· 2 min read

You delete a folder, empty the Trash, open Storage settings, and the bar has not moved. This is normal, and it has three causes. Each one is checkable in under a minute.

1. It is still in the Trash

Obvious, and still the most common. Moving to the Trash frees nothing. Files deleted from an external drive go into a hidden .Trashes folder on that drive and are only released when you empty the Trash while the drive is connected.

Storage settings has a toggle to empty the Trash automatically after 30 days, which is why space sometimes appears on its own a month later.

2. A local snapshot still holds the blocks

Time Machine keeps hourly snapshots on the internal disk, even without a backup drive attached, so it has something to copy the next time one is connected. A snapshot is a frozen view of the filesystem. If it was taken while your 40 GB existed, the blocks stay allocated until the snapshot is gone, no matter what you delete afterwards.

tmutil listlocalsnapshots /

Each line is one snapshot, named by date. macOS thins them itself when free space gets low, and it keeps them for at most 24 hours, which is why "the space came back overnight" is a common experience. To release them now:

# One snapshot, by its date string.
sudo tmutil deletelocalsnapshots 2026-09-14-091500

# Or: thin until 20 GB is free, at urgency 4.
sudo tmutil thinlocalsnapshots / 20000000000 4

Deleting local snapshots costs you the ability to restore a file from earlier today without the backup drive. Nothing else.

3. It is purgeable

Disk Utility shows a third number next to Used and Free: Purgeable. That is space macOS is allowed to reclaim when it wants to. Local snapshots count here, and so do iCloud Drive files that are also in the cloud, and caches for things macOS can download again.

Purgeable space is reported as used by most tools and as available by Finder's "available" figure, which is why two apps disagree about how full your disk is. Both are right. The disk is full of things macOS can throw away if it has to.

There is no button to purge. The reliable way to force it is to ask for the space: copying a large file will make macOS purge to make room, and the copy can then be deleted.

How to tell which one it is

# What the OS thinks. "Purgeable" is the number to watch.
diskutil info / | grep -E "Free|Used|Purgeable"

# Snapshots currently holding blocks.
tmutil listlocalsnapshots /

# Trash size.
du -sh ~/.Trash

If the Trash is empty and there are no snapshots, the space is purgeable and will come back when macOS decides. If there are snapshots, thin them. If the Trash has 40 GB in it, that was the whole story.

Where Decruft fits

Decruft shows the Trash's size and item count in its sidebar with an Empty button, since it moves everything it cleans to the Trash rather than deleting it. Its System Data pane lists local snapshots with sizes so you can see when they, and not your files, are what the disk is holding.

Questions

Why does free space not change after deleting files on a Mac?

The files are still on disk. Either they are in the Trash, or a Time Machine local snapshot taken while they existed still references their blocks. Emptying the Trash and thinning snapshots releases them.

What is purgeable space on a Mac?

Space macOS can free on its own when needed: local snapshots, cached iCloud files, and other data it can re-download. It counts as used until macOS decides to purge it.

How do I delete Time Machine local snapshots?

tmutil listlocalsnapshots / shows them. tmutil deletelocalsnapshots followed by the snapshot date removes one. macOS also thins them itself when the disk gets full.