MainspringGuides › Trash won't empty
macOS Guide

Trash Won't Empty on Mac? How to Force It

Updated July 2026 · 3 min read

You hit Empty Trash and macOS refuses — a file is "in use," an item is locked, or the progress bar just hangs. Something is still holding onto one of those files. Release it and the Trash empties normally; here's the sequence, from gentle to forceful.

Start with the polite fixes

  1. Quit every open app, then try emptying again. "File in use" usually means exactly that — a document still open somewhere, an app whose installer disk image is still mounted, or a file a background process hasn't let go of.
  2. Eject any mounted disk images. If you trashed a .dmg that's still mounted, eject its volume in the Finder sidebar first.
  3. Log out and back in, or restart. A restart releases every file handle on the system. Nine times out of ten, the Trash empties without complaint afterwards.

If you'd rather find the culprit than restart, Terminal can name the process holding a Trash file open:

# list processes with open files inside your Trash
lsof +D ~/.Trash

Quit whatever app appears in the first column (or it may be a background helper — quitting its parent app usually releases it), then empty the Trash again. If lsof prints nothing, no process has the files open and the blocker is a lock or a permissions problem instead.

Unlock locked files

A locked file makes the Finder ask for confirmation — or refuse outright. Unlock it from the Trash directly:

  1. Click the Trash in the Dock to open it.
  2. Select the stubborn file and press Cmd+I to open Get Info.
  3. Untick Locked, close the window, and empty the Trash again.

For a Trash full of locked items, select them all and press Option+Cmd+I — that opens a single inspector that applies the Locked checkbox to the whole selection. Holding Option while choosing Finder → Empty Trash also skips the confirmation dialogs.

Related tip for next time: if a particular file is destined to fight you, you can skip the Trash entirely. Select it in the Finder and press Option+Cmd+Delete — the Finder's Delete Immediately command — and it's removed on the spot, no Trash involved. Like rm, there's no undo, so it's for files you're certain about.

Files deleted from an external drive

When you delete files from an external drive, they move to a hidden .Trashes folder on that drive, and they only disappear when you empty the Trash while the drive is connected. If the Trash icon looks full only when a particular drive is plugged in, that drive's hidden trash is the culprit — connect it and empty. Drives that have lived on other Macs or PCs can carry foreign trash and recycle folders too — files another machine "deleted" that your Mac's Empty Trash never touches, quietly eating space on the drive. Our guide to emptying the Trash on an external drive covers finding and reclaiming that space.

The careful last resort: Terminal

If a file survives everything above — usually a permissions problem or a name with unusual characters — delete the Trash's contents from Terminal:

# interactively delete everything in your Trash
# -i asks before each item: answer y to delete, n to skip
rm -ri ~/.Trash/*

Treat this with respect: rm has no undo and doesn't use the Trash as a safety net — once it deletes something, it's gone. The -i flag makes it confirm every item, which is exactly what you want here; don't be tempted to swap it for -f unless you've read each filename carefully. If even rm reports "Operation not permitted," grant Terminal Full Disk Access in System Settings → Privacy & Security → Full Disk Access, then try again (and remove that access afterwards if you prefer).

While you're tidying up

Rescuing a stuck Trash isn't a toggle — but Mainspring turns 90+ hidden macOS settings across Finder, Dock, keyboard, and power into labelled, reversible switches.

Try Mainspring free →

Signed & notarized by Apple · 1-day free trial · $29 once