Sweepfor Mac

Free up storage

Empty Trash on Mac Not Working? Here's How to Fix It

Trash won't empty on your Mac? File in use, locked file, or 'item can't be deleted' error? Here's every fix that actually works.

6 min read

You move 30GB of stuff to the Trash, click Empty, and macOS hits you with “The operation can’t be completed because the item ‘X’ is in use.” Or “X is locked.” Or worst of all, the progress bar runs forever, claiming to be deleting 14,000 items.

The Trash is one of the simpler features in macOS, but the failure modes are surprisingly varied. Here’s how to actually get those files gone.

What’s actually happening when Trash refuses to empty

Behind the scenes, your Trash is just a hidden folder called .Trash in your home directory. When you “move to Trash,” macOS moves the file into that folder. Empty Trash is a rm -rf on the contents.

That command can fail for a handful of specific reasons:

  • A file is currently in use by a running app
  • A file has a “locked” flag set
  • A file has unusual permissions you don’t have rights to
  • A file is on an external drive that’s mounted read-only or unplugged
  • A file has weird characters in its name that the Finder UI can’t handle
  • macOS got confused and the Trash folder itself has a corrupted reference

Each has a different fix. We’ll go in order from simplest to most aggressive.

Fix 1: Quit apps, then try again

The most common cause is “file in use.” Some app — usually one you don’t realize is running — has the file open.

Steps:

  1. Quit every app you’re not actively using. Cmd+Q on each.
  2. Open Activity Monitor (Cmd+Space → “Activity Monitor”)
  3. Sort by App Name, look for anything that might be holding the file. Common culprits: Spotify, Mail, Microsoft AutoUpdate, Adobe Creative Cloud helpers
  4. Quit those processes from Activity Monitor (select → click the X in the toolbar)
  5. Try Empty Trash again

If you still get “in use,” the next step is the surest fix.

Fix 2: Restart the Mac, then empty Trash

Counterintuitive but reliable. When you restart, macOS releases all file locks. After restart, Empty Trash usually works on the first try.

If you can’t restart right now (in the middle of something), Force Quit anything that might be relevant: Apple menu → Force Quit, or Cmd+Option+Esc, then quit anything except Finder.

Fix 3: Hold Option while emptying

The hidden trick: hold Option (or Alt) while clicking Empty Trash. macOS will skip a few of the safety prompts and force-delete some types of locked files.

Or use the keyboard shortcut: Finder must be focused, then Cmd+Shift+Option+Delete. This is “Empty Trash with extreme prejudice.” Bypasses some of the warnings, ignores the locked flag, just gets it done.

This still respects file-in-use locks — won’t override those — but handles the locked-flag case.

Skip the manual huntSweep finds every cache, log, and forgotten file in seconds — and only removes what you OK. Download Sweep free →

Fix 4: Unlock individual files

If Option-Empty didn’t help, you’ve got a file with a real “locked” attribute that’s stickier than Finder wants to override.

To unlock manually:

  1. Open the Trash
  2. Right-click the problematic file → Get Info
  3. Uncheck “Locked” at the top
  4. Try emptying again

For dozens of files, the Get Info trick is tedious. In Terminal, you can unlock everything in Trash at once:

chflags -R nouchg ~/.Trash/*

That removes the “user immutable” flag from everything in your Trash. Then try Empty Trash again.

Tip: Files often get the locked flag set when you copy them from external drives, especially Windows-formatted ones. macOS sometimes flags everything from those drives as "locked" out of an abundance of caution.

Fix 5: External drives have their own Trash

This trips up a lot of people. Each external drive has its own hidden .Trashes folder at its root. When you delete a file on an external drive, it goes there — not to your main Trash.

If you keep getting empty-Trash failures referencing files on external paths, the fix is:

  1. Make sure the external drive is plugged in and mounted
  2. From Finder, select the file that won’t delete and check its location (right-click → Get Info → “Where”)
  3. If it’s on the external drive’s .Trashes folder, you’re fine — keep the drive plugged in and try Empty Trash again

If you’ve unplugged the drive while files are still in its .Trashes, you can’t fully empty Trash without plugging it back in. Plug in, empty, then unplug.

Fix 6: Delete via Terminal

When all else fails, Terminal will get the job done. But this is a one-way operation — files go to the digital void, no recovery.

To empty your main Trash:

rm -rf ~/.Trash/*

To empty an external drive’s Trash (replace DRIVENAME):

sudo rm -rf /Volumes/DRIVENAME/.Trashes/*

The sudo for the external is important — those folders sometimes need admin access. You’ll be prompted for your password.

If a specific file refuses even rm -rf, force it:

sudo rm -rf -f ~/.Trash/THE_FILE_NAME

The -f flag forces removal even if a file is locked or missing permissions.

Fix 7: The “file in use” mystery

Sometimes Empty Trash insists a file is in use, but you can’t figure out which app is holding it. macOS has a built-in tool to find out:

lsof | grep "the_file_name_here"

That command lists every open file on your system, filtered to ones matching your filename. The first column is the process holding it. Quit that process and try again.

For files in .Trash, the path will look like /Users/yourname/.Trash/the_file_name. Match exactly.

Fix 8: When the Trash itself is corrupted

Rarely, the .Trash folder gets into a weird state where it won’t empty no matter what you do. Maybe macOS has stale references to deleted items. Maybe permissions got weird.

Nuke the whole folder and let macOS recreate it:

sudo rm -rf ~/.Trash

Then log out and log back in. macOS will create a fresh .Trash folder. You’ve now lost everything that was in Trash, but that’s what you wanted anyway.

For external drives:

sudo rm -rf /Volumes/DRIVENAME/.Trashes

Same idea. The folder gets recreated next time you delete something on that drive.

Make this a one-click jobSweep does the same hunt in seconds. Always shows you what’s about to go. Free for macOS →

Auto-empty Trash to avoid this in the future

macOS has had a built-in feature since Sierra to auto-delete Trash items after 30 days. Enable it:

  1. Open Finder
  2. Finder menu → Settings (or Preferences on older macOS)
  3. Advanced tab
  4. Check “Remove items from the Trash after 30 days”

After this, anything you toss to Trash gets auto-deleted 30 days later. No prompt, no confirmation. Set it once and forget it.

If you’d rather have a manual reminder rather than auto-delete, just put “Empty Trash” on a recurring monthly Calendar event. Five seconds, eliminates the buildup that creates these “won’t empty” issues in the first place.

A note about secure delete

Older macOS had “Secure Empty Trash” that overwrote files multiple times. Apple removed it because on SSDs, secure delete doesn’t really work the way it does on spinning disks — wear leveling means the data might still be in flash cells you can’t directly address.

If you genuinely need a file to be unrecoverable, Disk Utility’s “Erase Free Space” option (only available on HDDs, grayed out on SSDs) is the closest thing. For SSDs, the realistic answer is FileVault — encrypt your whole drive, and deleted files become unrecoverable because the encryption keys are gone. FileVault is on by default in modern macOS.

When to call it

If you’ve tried everything above and Trash still won’t empty, you’ve probably got a system-level issue. At that point:

  1. Run First Aid in Disk Utility on your Macintosh HD volume
  2. Boot into Safe Mode (hold Shift on Intel, or hold power → Continue → Safe Mode on Apple Silicon) and try emptying from there
  3. If that fails, the volume might have minor corruption — contact Apple Support or a local Genius Bar

The good news: in 95% of cases, restart + Cmd+Shift+Option+Delete fixes the issue. The other 5% usually fall to a Terminal rm -rf. The really stuck cases are rare enough that if you hit one, it’s worth getting professional eyes on the system rather than going deeper into command-line surgery.

← Back to all guides