macOS Disk Not Ejected Improperly: 3 Fixes That Actually Work
That nagging popup means your Mac's disk cache didn't flush. Here's why it happens and how to stop it for good.
1. The Cache is Still Writing — Wait 10 Seconds
This is the one that gets 80% of people. You unplug a USB drive right after copying files. macOS keeps a write cache — it tells you the copy is done, but the data hasn't physically hit the drive yet.
I had a client last month, a photographer, who kept getting this with his SanDisk Extreme SSD on a MacBook Pro M1. He'd yank it after Lightroom said 'export complete.' The fix? Count to ten. Seriously.
Here's what's happening: macOS uses a delayed write cache. When you copy a file, it lands in RAM first, then trickles to the drive. If you pull the plug before the cache flushes, you get the error — and sometimes corrupt data.
How to fix it:
- After any transfer, wait until the Finder status bar is gone and the drive icon doesn't show activity dots.
- Right-click the drive in Finder and select 'Eject' — wait for it to disappear from your desktop.
- If the error still pops up even after ejecting, reboot the Mac and try again. A fresh boot flushes everything.
Skip the 'Force Eject' in Disk Utility unless you're desperate — that's like yanking a cord out of the wall. It works, but it's not clean.
2. Spotlight is Indexing the Drive — Turn It Off
This one sneaks up on you. You plug in a big external drive, and Spotlight immediately starts indexing it. Indexing reads the whole drive — that keeps the disk busy, and macOS won't let go until it's done.
I've seen this on 4TB WD My Passport drives on macOS Ventura. Client couldn't eject it for 20 minutes. Spotlight was churning through every photo and document.
How to stop Spotlight from indexing external drives:
- Open System Settings > Siri & Spotlight > Spotlight Privacy.
- Click the + button and navigate to your external drive.
- Select the drive and click Choose. macOS will stop indexing it immediately.
- Now try ejecting. It should pop out in seconds.
Note: This only stops indexing for that specific drive. Your internal drive keeps indexing as normal.
If you're on macOS Monterey or older, the path is System Preferences > Spotlight > Privacy tab.
3. The Drive Has a Filesystem Error — Run Disk Utility
Sometimes the error isn't about cache or Spotlight — the drive itself has a small filesystem glitch. I see this often with ExFAT drives shared between Mac and Windows. ExFAT is fragile — one improper ejection on Windows can corrupt the journal, and macOS will refuse to unmount cleanly.
Fix:
- Open Disk Utility from Applications > Utilities.
- Select your external drive in the sidebar. Not the volume underneath — the actual drive entry (usually shows the model name and capacity).
- Click First Aid > Run. It'll check the filesystem and fix any issues.
- When it's done, try ejecting again.
If First Aid fails, the drive may need reformatting. Backup your data first. I recommend APFS for Mac-only drives, or ExFAT if you must share with Windows — but use a tool like Paragon NTFS for Mac if you can swing it. ExFAT is the source of half my support calls.
One more thing: if you've got a USB-C hub, try plugging the drive directly into the Mac. Some cheap hubs don't pass the eject signal properly. Swapped a $15 Anker hub for a CalDigit one last week — client's eject errors vanished.
Quick-Reference Summary Table
| Cause | How to Spot It | Quick Fix |
|---|---|---|
| Cache still flushing | Error pops up right after file copy | Wait 10 seconds, then eject properly |
| Spotlight indexing | Drive stays busy for minutes | Add drive to Spotlight Privacy list |
| Filesystem error | Error persists after reboot | Run Disk Utility First Aid |
Was this solution helpful?