See which app is using your drive
When an eject fails, the menu names the app macOS reports, with a sentence on what to do next.
UnplugAll names the app holding your drive, whenever macOS reports one, and tells you what to do next. Eject All, clear results and timers included.
$2.99 · one-time purchase · macOS 14+ · Apple silicon
USB sticks, external SSDs and hard drives
“QuickTime Player is using this drive. Close its windows with files on ‘Archive’ and try again.”
You try to eject a drive and your Mac answers with this:
The disk wasn’t ejected because one or more programs may be using it.
In this message macOS doesn’t say which program it is. UnplugAll asks the system and names it, whenever macOS reports one, even when the message does not. Two real examples, in everyday words:
When an eject fails, the menu names the app macOS reports, with a sentence on what to do next.
You get a clear result such as “3 of 4 ejected, 1 still in use”. The drive that failed stays in the menu with a retry button.
Give a drive its own timer. When it runs out, UnplugAll unmounts it. Nothing happens until you switch it on.
Protect a drive from automation and Eject All, or give it a timer of its own.
For the drives you choose, UnplugAll unmounts them before sleep. Automatic actions only unmount, they never eject or force.
Force eject only after you confirm. It never quits other apps, stays out of your way, and needs no account and collects no data.
Lives exclusively in the menu bar — no Dock icon, on purpose. One click opens a panel: a large “Eject all drives” button on top, then one card per drive with its icon, a fill bar (orange from 90 %, labelled “almost full”) and its own eject button; Settings and Quit sit at the bottom. While the panel is open: ⌘E ejects all drives, ⌘1–⌘9 a single drive, ⌘, opens Settings, ⌘Q quits. On macOS 26 and later the panel uses Liquid Glass. Volumes on the same drive are ejected together, in the right order.
Never says “done” when it isn't. Partial success is stated plainly — “3 of 4 ejected, 1 still in use” — and whatever didn't work stays visible in the panel with a reason and a retry button. A partial result is never reported as a success, not even in a notification.
When an eject is blocked, the drive's card names the app macOS reports (for example QuickTime Player) with its icon and says what to do next. Buttons: “Try again”, “Bring … to the front” and “Don't eject”. “Force eject …” comes last and only after a confirmation where Cancel is the default button.
Every drive can have its own time (Settings › Drives › “Time until unmount”); when it runs out, UnplugAll unmounts it. Opt-in per drive — nothing happens on its own. A global switch only allows the automation; you still turn it on per drive, with a one-time confirmation. The countdown shows in the panel (“Will be unmounted in 3:31 – then unplug.”) and as a bar under the menu bar icon (the icon indicator can be turned off) and can be cancelled at any time. You can count from the moment the drive connects — or, on APFS drives, from its last actual use (idle detection). exFAT and HFS+ don't give macOS any usage data, so those drives only get the time-based timer. Automation only ever unmounts, never ejects: the drive stays connected and powered, and to mount it again, unplug and reconnect it, or mount it in the Finder.
On request, UnplugAll unmounts the drives you've individually enabled for this before the Mac sleeps — up to 10 seconds are available (measured, and the ceiling), and anything that doesn't make it is reported, not hidden. Lid-close (clamshell) is a separate toggle, on battery power only by default — on power a Mac doesn't necessarily sleep, and the drive would be gone for nothing. The app visibly warns when a setting currently has no effect (e.g. “this Mac isn't sleeping on lid-close right now”). After waking, the drives stay unmounted. Mount a drive again by unplugging and replugging it, or in the Finder.
Mark a drive as protected and neither automation nor “eject all” will ever touch it. Set your own timer per drive. Rules are attached to the drive's identifier, not its name — renaming or replugging changes nothing.
On request, the icon only appears while external drives are connected (matters on a notched MacBook). It always stays visible when something needs attention — a blocked drive, a running countdown, a failed eject. Switch it on in Settings › Menu Bar; the line beneath it tells you how to get back. A colour dot shows what is going on: blue while ejecting or counting down, orange when a drive is in use, red when an eject failed, grey at rest.
A sidebar like macOS System Settings with six sections: General, Menu Bar, Automation, Drives, Notifications and About. Every switch has a tooltip.
Freely assignable with its own recorder field, suggested default ⌃⌥⌘E. Choose what it does: eject all drives, or open settings. Works everywhere, including in full-screen apps — without the Accessibility permission (a Carbon hotkey, the same approach established Mac apps use). Warns you before registering it if macOS already owns that combination (for example ⌘Space) instead of silently doing nothing.
Choose what “Eject” means from the menu: unmount and eject the device (then unplug and reconnect it), or unmount only, leaving it powered (you can then mount it again in the Finder). This applies to anything you trigger manually — automatic actions always only unmount. Forcing an unmount through a blockage is possible, but always behind a confirmation that clearly states running apps could crash.
UnplugAll only asks for permission once there's actually something to report — never on launch. Toggle separately: “when a drive can be safely removed” and “when a drive couldn't be ejected.” Partial results always go through the failure toggle, never as a success message.
An optional login item, off by default — the app only registers once you flip the switch. If macOS asks for your approval, the app says so and links to System Settings.
A short first-run walkthrough: where the app lives, how to quit and find it again, and your choice of a way back — shortcut or always-visible icon.
Fully in German and English, switchable inside the app (with a restart button).
macOS names at most one app and sometimes none. When it names nobody, UnplugAll says so and suggests what to try instead.
A loose cable, a hub or drive firmware can still cause “Disk Not Ejected Properly”. No app can prevent that.
Drives stay unmounted. Mount one again by unplugging and replugging it, or in the Finder.
The app collects no data. No account, no analytics, no network connection.
No Full Disk Access, no admin rights, no background daemon, no Accessibility permission.
No account, no analytics, no ads, no network connection at all — the app simply has no network access.
An App Store app isn't allowed to, and UnplugAll doesn't pretend it can. Instead: it names the blocker, explains it — and can still unmount on request, behind an honest confirmation.
An app still has a file open on the drive, or a window or Terminal session is still pointing at it. Unless it is a regular app, macOS does not say which one. UnplugAll asks the system and names the app, whenever macOS reports one, with a sentence on what to do.
macOS often does not tell you, especially for background processes or a Terminal window; the usual workarounds are Activity Monitor or a Terminal command. UnplugAll shows it in the menu when an eject fails, whenever macOS reports an app.
No. macOS reports at most one app and sometimes none. When it names nobody, UnplugAll says so and suggests what to try instead.
No. It never quits other apps. You close the window or the app yourself. If you insist, you can use Force Eject, but only after a confirmation that says plainly this can crash a running program or lose unsaved data.
It shows which app macOS reports as holding the drive, so you know what to close or let finish. Whether macOS reports one depends on the situation.
Choose “Eject All Drives” in the menu or use the keyboard shortcut you set. You get a clear result such as “3 of 4 ejected, 1 still in use”, and the one that failed stays in the menu with a retry button. Drives you marked as protected are left alone.
Yes, for the drives you switch on. Automatic actions only unmount, they never eject or force. For closing the lid this applies on battery power by default. After waking, the drives stay unmounted: unplug and replug them or mount them in the Finder.
macOS shows it when a drive disappears without being unmounted, for example after a pulled cable, a hub dropout or after sleep. Unmounting before you leave or before sleep helps. A loose cable or drive firmware can still cause it, and no app can prevent that.