Few things are more frustrating than clicking "Empty Trash" on a Mac and watching it fail — or worse, watching it succeed yet the free space on your disk barely moves. If your Mac trash won't empty, or emptying it doesn't free the space you expected, you are not alone and you are not doing anything wrong. This guide covers every real scenario: locked files, items in use, the hidden .Trashes folder on external drives, APFS snapshots that silently hold onto space, and the Terminal commands that solve what the Finder cannot.
Why the Trash Exists (and How It Actually Works)
When you move a file to the Trash on macOS, the file is not deleted. It is moved to ~/.Trash — a hidden folder in your home directory — and stays there until you explicitly empty it. Files on external drives or network volumes go to a hidden .Trashes folder at the root of that volume instead, which is a common source of confusion covered below.
Emptying the Trash tells the filesystem to mark those blocks as available. On APFS (the default filesystem on all modern Macs), the operating system may not reclaim those blocks immediately because of snapshots and purgeable space — more on that later.
How to Empty Trash on Mac: The Standard Method
- Click the Trash icon in the Dock to open the Trash window.
- Choose Finder > Empty Trash from the menu bar, or press Shift + Command + Delete.
- Click Empty Trash in the confirmation dialog.
If this works without errors, you are done. If you see an error — "The operation can't be completed because the item name is in use" or "The item can't be moved to the Trash because it's locked" — read on.
Mac Trash Won't Empty: The Most Common Errors and Fixes
Error: "Item is in use" or "Item can't be deleted"
This means a process currently has the file open. The safest fix is to quit any application that might be using it, then try emptying again. If you do not know which application is holding the file, you can identify it in Terminal:
lsof | grep -i "filename"
Replace filename with the name of the stuck file. The first column of the output is the process name; quit that application and retry.
If the culprit process cannot be quit normally (a background daemon, for example), you can empty the Trash from Terminal while your user session owns the lock:
rm -rf ~/.Trash/*
Be careful: rm -rf permanently deletes without confirmation. Double-check the path before pressing Return. There is no undo.
Error: "The item is locked"
macOS lets you lock a file so it cannot be modified or deleted without unlocking it first. To unlock a single file in Finder, select it, press Command + I to open Get Info, and uncheck the Locked checkbox. Then move it back to Trash and empty.
To unlock every item in the Trash at once via Terminal:
chflags -R nouchg ~/.Trash/*
Then empty normally or run rm -rf ~/.Trash/*.
Force Empty Trash on Mac: When Nothing Else Works
On older macOS versions (before Sierra), Finder offered a "Secure Empty Trash" option that overwrote file data before deleting. Apple removed it in macOS Sierra because APFS and SSDs make secure deletion unreliable — the filesystem may write to a different physical block anyway. Do not use third-party utilities that claim to bring it back; they cannot guarantee what they promise on modern hardware.
If you need to force empty Trash on Mac without Terminal, the most reliable one-click route is Crumb. Its cleanup pass targets stuck Trash contents along with caches and system purgeable space in one operation — useful when you have tried the manual steps and the Finder still refuses.
The Hidden .Trashes Folder on External Drives
When you delete a file from an external drive or USB stick, macOS does not send it to ~/.Trash. It goes to a hidden folder at the root of that volume: /Volumes/YourDriveName/.Trashes/. Inside, there is a subfolder named after your user ID (e.g., 501).
If you eject the drive before emptying the Trash, those files stay on the drive indefinitely. When you reconnect the drive, they appear in the Trash again. To clean them:
- Connect the external drive.
- Open the Trash in Finder — you should see the files from the drive listed.
- Empty Trash normally. macOS will delete from the volume's
.Trashesfolder.
If the files are not visible in Finder's Trash, you can remove them from Terminal. First, find your user ID:
id -u
Then delete the contents (replace YourDriveName and 501 with your actual values):
rm -rf "/Volumes/YourDriveName/.Trashes/501"/*
Why Emptying Trash Is Not Freeing Space (APFS Snapshots)
This is the scenario that surprises people most. You empty 20 GB of files from the Trash, open About This Mac, and the available space barely budges. The Trash is empty, so where did the space go?
The answer is almost always APFS local snapshots. Time Machine on APFS-formatted drives creates local snapshots before each backup and whenever macOS deems it useful. These snapshots preserve a point-in-time copy of the filesystem, which means deleted files are still referenced by the snapshot and the space is not freed until the snapshot expires or is deleted.
macOS marks snapshot-held space as "purgeable," meaning the system will reclaim it automatically when another application needs room. But it does not always do so quickly or on demand.
How to Check for Local Snapshots
tmutil listlocalsnapshots /
This lists snapshots on your boot volume. You will see entries like com.apple.TimeMachine.2026-06-01-143022.
How to Delete a Specific Snapshot
tmutil deletelocalsnapshots 2026-06-01-143022
Replace the date-time string with the one from your list. You may need to run this for several snapshots to recover significant space.
Empty Trash Not Freeing Space: The One-Click Fix
Manually listing and deleting snapshots is tedious. Download Crumb and run a one-click Clean: it clears purgeable/snapshot-held space as part of the same pass that handles caches, logs, and Trash contents. The freed space appears in Finder almost immediately because Crumb forces the APFS volume to surrender the purgeable blocks rather than waiting for the OS to do it on its own schedule.
What Is Safe to Delete vs. What Is Not
| Location | Safe to Delete? | Notes |
|---|---|---|
~/.Trash |
Yes | You put files here intentionally. |
~/Library/Caches |
Generally yes | Apps rebuild caches; some may be slow on next launch. |
/Library/Caches |
Generally yes | System and app caches; same rebuild behaviour. |
~/Library/Application Support |
Be selective | Contains app data, preferences, saved state. Deleting app folders here is often irreversible. |
/System/Library |
No | Core OS files. Do not touch these. |
| APFS snapshots | Yes, carefully | Deleting removes Time Machine restore points for that date. |
App bundles in /Applications |
Yes, but check leftovers | Dragging an app to Trash leaves support files in ~/Library; use an uninstaller to get them all. |
Preventing Trash Problems in the Future
- Eject external drives properly — always use Eject before unplugging so macOS can flush the
.Trashesfolder cleanly. - Empty Trash before running low on space — APFS handles near-full disks poorly; keeping at least 10–15% free avoids performance issues.
- Check before you delete — if you are unsure what a folder does, Crumb's built-in "Is this safe to delete?" AI explains any path and its removal risk in plain language, so you do not have to guess.
- Do not rely on Trash for sensitive data — deleted files on SSDs are not securely erased just by emptying Trash. Use
diskutil secureErasefor free space wiping, or FileVault to protect data at rest.
Conclusion
Emptying Trash on Mac is usually a two-second task, but when it fails — locked files, in-use items, hidden .Trashes on external drives, or APFS snapshots silently retaining space — the root cause is almost always identifiable and fixable with the right command or tool. Work through the scenarios in this guide in order: quit the app holding the file, unlock it if needed, clean external drive Trash folders, and finally address snapshots if the freed space does not appear. For a faster path through all of these steps at once, Crumb handles them in a single click.