MacOS – Trash is not getting emptied no matter how many times I click on empty trash option!

findermacmacostrash

I recently cleared my system caches and as usual moved them to trash and then clicked empty trash. After the cleanup I was designing some stuff when my eyes fell upon the trash icon, it was full inspite of the fact that I have recently cleared my trash, so I opened it and I came across this cache file (com.apple.kext.caches) no matter how many times I am clicking on empty trash, trash is not getting emptied it still shows full and the file still exits in the trash!

The permissions on this file doesn't allows me read/write this file so tried to add myself (admin) via the get info panel and as expected macOS didn't allowed me to change the permissions.

After trying everything to delete this file I though of putting it back in it's original place system>library>caches and guess a same file already exits so I didn't replaced it.

Moving the cache file out of the trash recreates or creates an exact copy of the file within the trash.

Trash is working normal it is deleting everything send to it except the cache file!

And since it's a root file none of the DIY Terminal commands are working to remove the file

I have already tried deleting it in Safe mode, which didn't worked and I haven't yet tried deleting it in recovery mode using terminal because I don't know how to do it!

The message I am getting when I tried to delete the file using a terminal command:

Sayans-iMac:.Trash sayan$ sudo rm -R /Users/sayan/.Trash/com.apple.kext.caches 
override rw-r--r--  root/wheel restricted for /Users/sayan/.Trash/com.apple.kext.caches/Directories/Library/Extensions/KextIdentifiers.plist.gz? Y
rm: /Users/sayan/.Trash/com.apple.kext.caches/Directories/Library/Extensions/KextIdentifiers.plist.gz: Operation not permitted
override rwxr-xr-x  root/wheel restricted for /Users/sayan/.Trash/com.apple.kext.caches/Directories/Library/Extensions?

enter image description here

The file can be found under this directory

enter image description here

And I am getting this error when I am trying to delete the cache file using this command rm -rf path to the file.

enter image description here

Best Answer

Probably the easiest thing to do is to just boot up in Safe Mode and then empty the trash.

Boot into Safe Mode

Follow these steps to boot your Mac into Safe Mode:

  1. Fully shut down your Mac
  2. Restart your Mac
  3. Immediately press the Shift key and keep it down
  4. Let go of the Shift key when you see the login window (NOTE: If you have FileVault enabled you may need to log in twice).
  5. Once you're logged in, empty the trash
  6. Exit Safe Mode by restarting your Mac as normal

Next up is Apple steps to repair the disk:

Basically you boot to recovery and repair the disk in question.

[EDIT]

If all the above steps fail to empty the items from Trash, then the following options are available to you:

  • Reboot your Mac from another boot drive (e.g. an external USB hard drive, etc). Once logged in, your Mac will see its internal drive as just another hard drive and you will be able to empty its Trash.
  • Reboot your Mac in Target Disk Mode and connect it to another Mac. The other Mac will see it as an external drive and you should be able to empty the Trash.
  • Create another Admin user account for yourself and then reboot your Mac and login to your new account. Start using this account instead. It will have access to all your apps and you just need to transfer your data across. When the time comes, delete the other user account.
  • If you're familiar with Terminal/Bash, and you have a full Time Machine (or other) backup of your system, you can also boot into macOS Recovery and access Terminal from the Utilities menu. Then run the necessary commands to gain read/write access to your usual boot volume, navigate to the correct user, and try deleting the Trash.