Skip to content
Thoughtful, detailed coverage of everything Apple for 35 years
and the TidBITS Content Network for Apple professionals
33 comments

AppBITS: Jettison Solves macOS Disk Ejection Annoyances

One of the longest-standing aspects of the Mac user experience is the necessity of ejecting disks before turning them off or unplugging them. Initially, this meant literally ejecting floppy disks from their drives, but Apple retained the term even after adding non-removable media.

All About Eject

The need for the Eject command arises from two reasons. First, if there are open files on a disk, macOS refuses to let you eject it because doing so might result in data loss. Second, the Eject command forces macOS to flush any data cached in memory and write it to the physical disk, ensuring that everything is saved and preventing file corruption.

Despite all the advances in macOS since 1984, we still need to virtually eject disks before physically disconnecting them. Today, you can select a disk and choose File > Eject (Command-E) or drag one or more disks to the Trash icon, which helpfully changes to an Eject icon so no one is led to think the disk or its contents will be deleted. If there are multiple volumes on a single physical disk, macOS allows you to eject just the selected one or, as is often desirable, all of them.

Eject All dialog

It’s also still possible to encounter a situation where a file remains open on a disk such that macOS won’t let you eject it. Sometimes the solution is simple—just quit the offending app. Other times, macOS doesn’t identify the app, leaving you unsure of what to quit or if quitting is even an option, especially when a low-level process has the file open. You can throw caution to the wind and power the drive down or unplug it unceremoniously, but macOS always chides you for such uncouth behavior.

Disk not ejected dialog

Disk not ejected properly notification

If macOS cannot eject the disk or identify the rogue programs, it allows you to force eject the disk—a software override that bypasses macOS’s safety checks but still flushes cached data, making it safer than simply unplugging. If that makes you too nervous, your only recourse is to shut down your Mac, disconnect the disk while everything is powered off, and then turn the Mac back on. You can also restart and unplug it between quitting all applications and macOS booting up again, though that requires more precise timing.

Force Eject dialog

I’ll admit, I occasionally forget to eject a disk before disconnecting it or inadvertently unplug the wrong disk while working behind my Mac. However, I’ve never experienced any file or disk corruption that I could attribute to that action. Still, it’s never a good idea to cut power to a drive or unplug it without first ejecting it.

Jettison That Disk!

For the most part, I don’t have trouble ejecting disks. Sometimes, when I try to eject the duplicate that SuperDuper makes of my internal boot disk every night, the backup disk’s icon disappears from my desktop, but I’m still chided for failing to eject “Disk Name – Data” when I disconnect it. I feel that it’s unfair because I had ejected the disk, but I can’t reproduce the problem reliably.

Regardless, many people experience recurring issues with external disks. When leaving the house with your laptop, you can close the lid and disconnect all its cables without worry… except for those connected to external disks, which remain mounted even when the laptop is asleep. Others find themselves in situations where macOS seems incapable of ejecting disks for no good reason. And still more people store working data or media on external drives that they want to mount and dismount in different situations.

Those who need more control over their external disks than macOS provides should consider Jettison, available for $6.95 from St. Clair Software, which provides a plethora of features designed to simplify working with external disks. It’s a menu bar utility that’s entirely up front about its capabilities, which you can try for free for 15 days. It runs on macOS 10.13 High Sierra and later, and is compatible with both Intel-based and Apple silicon Macs.

Jettison menu

Easily accessed commands in Jettison’s menu enable you to:

  • Eject all your external disks at once
  • Eject all your external disks and then put the Mac to sleep
  • Sleep your Mac
  • Eject individual volumes
  • Mount available volumes
  • Remount disks that you previously ejected

Jettison’s Settings window provides extensive control over when and how disks are ejected, reported to the user, and remounted.

Jettison General settings

These settings allow Jettison to:

    • Automatically eject disks before system sleep
    • Automatically eject disks after the display turns off
    • Automatically eject disks before logout, restart, and shutdown
    • Control what sort of disks will be ejected: hard disks and SSDs, DVDs and CDs, disk images, network disks, and SD cards
    • Show a progress window while ejecting and remounting, since both tasks can sometimes take longer than seems reasonable
    • Display notifications after ejecting and remounting
    • Let you use hotkeys for ejecting external disks, ejecting and then sleeping, and remounting
    • Automatically remount disks upon wake-up
    • Eject specific internal disks along with external disks
    • Avoid ejecting specific disks
    • Avoid remounting specific disks

A few of these may need more explanation. For instance, why would you want to eject your disks automatically after the display turns off? Since the display may go black before the Mac goes to sleep, some people found themselves disconnecting disks when they shouldn’t have because the screen was off while the Mac was still awake.

Also, what’s up with ejecting disks before logout, restart, and shutdown, given that macOS already ejects most disks in the latter two cases? One reason for that option is that you might have an encrypted disk containing private data that you don’t want to be accessible to other accounts on your Mac. Another reason arises if you have a removable media drive and want to eject whatever disc is in there before shutting down.

Jettison developer Jon Gotow tells me something that’s not immediately obvious. When Jettison is set to eject disks before sleep, it automatically quits Music and Photos in case the user is storing their libraries on an external disk. When the Mac wakes up again, Jettison relaunches those two apps. You can find similar tweaky details about how Jettison works (and what might prevent it from working as expected) in the Jettison FAQ.

Jettison can’t (or at least won’t) eject disks containing open files, but it tries to help you identify and quit the associated apps.

Jettison warning dialog

Everyone has different needs and circumstances, but if you’ve found yourself forgetting to eject disks before disconnecting them from your laptop or fussing to eject and remount disks regularly, Jettison may be your new favorite utility. Give it a try.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For over 35 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

This site is protected by reCAPTCHA. The Google Privacy Policy and Terms of Service apply.

Comments About AppBITS: Jettison Solves macOS Disk Ejection Annoyances

Notable Replies

  1. Software on my Mac mini is fully up to date. It has an external drive directly attached and a network drive connected over wifi, each of which is a Time Machine. Once or twice a week, when I start using the system in the morning, I see a notification that a disk was disconnected without being ejected. However, the icons for both external drives are visible on the desktop and accessible in Finder. This has persisted since Ventura. I suspect the issue is related to the networked Time Machine and it is only a minor annoyance.

  2. If a directly-connected storage device (e.g. USB) is disconnecting, then there may be a problem with the device. HDDs and SSDs can get flaky as they get old and start wearing out. They’ll go off-line, causing macOS to report the disconnection, and then they’ll come back on-line a bit later, so you see the icon on your desktop.

    Make a backup or two, run some diagnostics and consider replacing the device.

    Overheating can also cause this. If your storage device doesn’t have an enclosure capable of dissipating its heat (or if you are keeping it in a place without sufficient airflow), this can happen. Especially for high performance devices, they tend to run hot. I’ve found this with HDDs that are connected 24x7 - they need to be in an enclosure with a fan or they will overheat after a day or two.

  3. David,
    Thank you. Helpful suggestions. I’ll run the diagnostics.

  4. Also try gently wiggling both plug ends of cable(s) connecting the external drive. And move the rest of the cable around a bit. If this caused the drive to disconnect then you have a flaky cable. Over time plugs can stop fitting snugly, and wires can become susceptible to shorts or disconnections, especially wherever the cable is routinely stressed (near the plugs for instance.)

  5. A quick note for all you Alfred users out there: Alfred offers some Eject commands too. I use them often.

    More info from Alfred Help here.

  6. This sounds great.

    I’m currently using a self-made xbar script to manage ejecting (which I do every couple of days when I’m taking my laptop out and about) but I’m open minded that there is a better solution.

  7. When I have a disk that won’t eject, I relaunch the Finder, and it is gone! I suspect the problem is not that the disk was not ejected, but that the Finder did not register the fact.

  8. Agreed.

    I don’t think the problem is a mistaken error message. Finder is calling the underlying system’s APIs to unmount and eject a volume. But that API call is failing, which usually is because some process somewhere has an open file on the device (there are other possible problems, but this is the most common).

    I suspect that Finder itself (or something Finder-related like the Dock or Launchpad) has an open file on the device, which is why it can’t be ejected. When you restart the Finder, these processes end, which auto-closes their file handles, allowing the eject to succeed.

  9. When it happens, there is no message saying the disk could not be ejected; it’s just that its icon remains on the Desktop. And after relaunching Finder, it is gone without any further attempt to eject required.

  10. I’ve been happily using Mountain for years. I have it installed on my M1 Macs running Monterey or later (but NOT Sequoia), as well as on older Macs running High Sierra or Mojave (or earlier!). I’d recommend getting it from the source rather than from the App Store.

    Mountain, from Appgineers

  11. blm

    I’ve been using Mountain for a long time as well. Unfortunately it’s been abandoned for a while too, and it’s starting to show on Sequoia, where a couple of things no longer work. But it’s still fairly useful, for example the notifications of when a volume is mounted and unmounted and a disk is ejected are handy. It also makes marking a volume to not automount easy, instead of having to edit /etc/fstab (for which there’s a long thread here on TidBITS).

    One of the most interesting things about Jettison to me is that it’s kind of the eject half of Mountain. If they’d add some of the other features, it would make a great Mountain replacement that I’d buy immediately.

  12. blm

    That [relaunching the Finder] has worked for me as well. It doesn’t work every time, and I think it works less in Sequoia, but it’s definitely something I still try.

  13. Jon Gotow’s Default Folder has added years to my life: not just in the way of convenience but as a sheer time saver.

    I’m off to St Clair for Jettison!

    Thank you Adam for this article, very helpful!

  14. In such cases, does Disk Utility confirm the volume was unmounted?
    If so, restarting Finder appears to be the trivial and perfectly correct solution.

  15. Another reason to not install Sequoia, for me.

  16. I owned Mountain for several years but found it to be increasingly fiddly and didn’t always work smoothly with recognizing all my external drives when it came time to re-mounting them. And app development has been glacial: the current v.1.6.6 came out last fall, and 1.6.1 came out in 2015.

    I picked up Jettison in January and it has made a solid replacement that works better.

  17. This problem has actually been around for decades, so I wouldn’t hold off on upgrading just for this.

  18. Mountain not working quite right would only be a minor reason to not upgrade. I have no reason to put Sequoia on anything. I’m only using Sonoma because it’s required for a couple of image editing apps I want to try out.

  19. Thought I would throw in my version, so I published it at my blog. It’s probably not as fast, but it’s free, and you’re welcomed to the Automator Quick Action tutorial.

  20. My only disk ejection annoyance is one specific SanDisk USB disk with a USB-A connector on one side and a USB-C connector on the other side. Every time I try to eject it the Finder (or Disk Utility which I tried as an alternative) hangs and the disk icon remains on the desktop. Only remedie seems to be a restart and removing the disk before the login screen appears. So far I’ve seen no data corruption so it’s ‘only’ an annoyance.
    Anyone else with a similar issue and a solution for this issue?

  21. I think I need to get this. My 2019 iMac running the latest macOS gives so many “disk in use—can’t eject so sue me” messages that it isn’t funny. Plus it takes forever for the force eject option to even pop up. I suppose I could just blow up my system and reinstall it but that would be a giant pain.

  22. Does it work with network disks?

    Any current replacements for the abandoned app “What’s Keeping Me?” by Hamsoftengineering? It tells you what apps/processes are still using a disk and preventing you from ejecting it–when OS X just gives you the error that the disk can’t be ejected “because one or more programs may be using it.”

  23. blm

    I was having this problem until I turned off Spotlight indexing on all my external drives. Now I can’t remember the last time I couldn’t unmount a volume.

  24. (I’ve cleaned up that Automator tutorial quite a bit since I posted it and submitted my previous reply yesterday, just in case you’re interested enough to take a second look. :slightly_smiling_face:)

  25. Thanks Bill! Glad to hear Default Folder is still doing its job for you - as always, let me know if you have any suggestions or issues with it or Jettison.

    • Jon
  26. Does it work with network disks?

    Any current replacements for the abandoned app “What’s Keeping Me?” by Hamsoftengineering?

    Jettison does work with network disks, and will also do the same checks as What’s Keeping Me when it encounters a volume that it can’t eject, telling you which apps still have files open.

    Note that if you interactively try to eject a disk from Jettison’s Eject menu, it will offer a dialog where you can also quit the offending apps.

    Also, because it’s been mentioned elsewhere here, Jettison automatically terminates Spotlight indexing, photoanalysisd and a number of other ‘problem’ services before ejecting disks when the system goes to sleep.

    • Jon
  27. This is great! I usually use LaunchBar’s Eject All Ejectable Volumes command, but invariably, it gets stuck with some mysterious file remaining in use by some mysterious low-level process.

    I’ve been a paid user of DefaultFolder X since my Titanium MacBook Pro, and I’d be happy to throw another couple of bucks St. Clair’s way.

  28. Jon,

    Thank you thank you thank you for Default Folder. I don’t use all it can do, but that may be true for other people as well—we use the parts that make life easier.

    Pointing to windows to “show” the Save dialog where I want to put something is amazing and such a time saver + Recent Folders + giving users a file tree of submenus to navigate instead of just navigating up the ‘trunk’ of the tree. Those three abilities are SO valuable.

    A suggestion which probably isn’t possible: I use ForkLift as my Finder substitute and often hover over a ForkLift window to tell DefaultFolder to save there when…argh, expletive, the active pane in that window is the bottom one and I want to save to the top one, or vice versa. So when Apple Intelligence can read my mind, hopefully you can hook into that API and make the hover click work for the ForkLift pane I want the file to go, rather than the active pane. Or maybe I can hold down the Option key to pick the inactive pane?

    Keep up the Fantastic work, Jon!

  29. Actually, Control-click or right-click on the Finder window as you hover over it. You’ll get a contextual menu showing all the panes in that window and you can pick the one you want.

    • Jon
  30. I hope this won’t take waiting for Apple Intelligence.

    I never understood how the target of my currently open Finder window (especially if there’s only one) is not automatically at the top of the Recent Places list in any open/save dialog. This doesn’t take AI/ML, just a minimal amount of conventional coding using a simple 100% deterministic algorithm.

    Or perhaps better yet, in every open/save dialog a button somewhere between New Folder and Cancel/Save that automatically pushes the open/save dialog’s path to the location of the foremost open Finder window.

  31. Yeah, it should work that way, but doesn’t. That’s why it’s one of the things that Default Folder X does :-) Sadly, Apple seems to have lost its attention to detail and it’s up to us third party developers to provide solutions.

    • Jon
  32. 🫨 Oh wow! :star_struck: Not just the panes, but all the tabs in both my panes!!! And in true Default Folder fashion, each of those choices is the top of a folder tree.

    Try it out, @Simon

    You’re amazing, Jon!

Join the discussion in the TidBITS Discourse forum

Participants

Avatar for ace Avatar for frans Avatar for Simon Avatar for jeff2 Avatar for Valis Avatar for Laine.Lee Avatar for billstanford9 Avatar for gotow Avatar for GraphicMac Avatar for blm Avatar for tidbits43 Avatar for Scott_R Avatar for Shamino Avatar for toxdoc Avatar for flysi3000 Avatar for fellwalker57 Avatar for drmoss_ca Avatar for kat634e Avatar for gingerbeardman Avatar for Bampfer