Guides / Virtual audio drivers and Audio MIDI Setup
How to uninstall BlackHole or Soundflower on a Mac
Tested on macOS 26.4.1 (Tahoe), Apple M3 Max, 3 Sept 2026. Updated 2026-09-03.
BlackHole is a single folder in /Library/Audio/Plug-Ins/HAL. Delete it with sudo rm -rf BlackHole2ch.driver from that directory, restart Core Audio with sudo killall -9 coreaudiod, and forget the receipt with sudo pkgutil --forget audio.existential.BlackHole2ch. Soundflower is a kernel extension: remove Soundflower.kext from /Library/Extensions and restart the Mac. Then delete any aggregate or Multi-Output Device that used the driver.
How do you uninstall BlackHole on a Mac?
The commands below are the ones on the BlackHole wiki's Uninstallation page, checked against the folder layout on macOS 26.4.1. Close every audio app first, as the wiki says, because coreaudiod will not release a plug-in that an app has open.
- Open Terminal and go to the plug-in folder:
cd /Library/Audio/Plug-Ins/HAL - See what is there:
ls. You will see one folder per virtual device on the Mac; on the author's machine that is the Serato, Teams, Pioneer DDJ-SZ and Parrot plug-ins. Only remove the BlackHole ones. - Delete the driver for the version you installed:
sudo rm -rf BlackHole2ch.driversudo rm -rf BlackHole16ch.driversudo rm -rf BlackHole64ch.driver - Restart Core Audio so the device disappears without a reboot:
sudo killall -9 coreaudiod. Playback pauses for about a second. - Remove the installer receipt so the Mac no longer thinks the package is installed:
sudo pkgutil --forget audio.existential.BlackHole2ch(usepkgutil --pkgs | grep -i blackholeto see the exact identifier on your Mac).
If you installed with Homebrew, use Homebrew to remove the same formula: brew uninstall blackhole-2ch, then run step 4. Existential Audio also offers an uninstaller package for download for people who prefer not to use Terminal; the wiki links it. The BlackHole safety page explains why there is nothing else to remove: no kext, no background app, no launch agent.
How do you remove Soundflower from a Mac?
Soundflower is a kernel extension, so the file lives in a different place and the Mac must restart for the removal to take effect. The Soundflower repository's uninstall notes refer to Soundflower.kext in the system extension folders.
- Check where it is:
ls /Library/Extensions | grep -i soundflower. Older installs may also have used/System/Library/Extensions, which is read-only on modern macOS and cannot hold third-party kexts any more. - Delete the bundle:
sudo rm -rf /Library/Extensions/Soundflower.kext - Restart the Mac. Kernel extensions are unloaded at boot, and macOS rebuilds its kernel collection on the next start.
- Confirm:
kmutil showloaded --list-only | grep -iv appleshould print nothing, and Audio MIDI Setup should no longer list "Soundflower (2ch)" or "Soundflower (64ch)".
On an Apple silicon Mac Soundflower was never loadable in the first place, per the project's own notice, so the removal is cosmetic: it clears a dead entry in Audio MIDI Setup and gets rid of a kext bundle that macOS would refuse anyway. Background on why in does Soundflower still work. If you also enabled Reduced Security in recoveryOS to try to load it, consider restoring Full Security from the Startup Security Utility in recoveryOS afterwards.
How do you clean up Audio MIDI Setup after removing a driver?
Removing the driver does not remove the composite devices you built around it. Audio MIDI Setup keeps an aggregate or Multi-Output Device whose member no longer exists, which shows up later as a grayed-out entry or a DAW that opens with a warning. Three clean-up steps, all standard macOS behavior:
- Open Audio MIDI Setup (Command-Space,
Audio MIDI). In the sidebar, select each aggregate or Multi-Output Device that included BlackHole or Soundflower and click the Remove (minus) button at the bottom. Apple documents this on both device pages. - Open System Settings > Sound. Under Output choose your speakers or interface; under Input choose your microphone. While the driver was installed, macOS may have kept it as a default, and apps such as Zoom remember their own choice separately, so check the device menu in any call app too.
- If a ghost device remains in the list, run
sudo killall -9 coreaudiodonce more or restart the Mac. Core Audio caches device lists until it restarts.
You do not need to "uninstall Audio MIDI Setup"; it is part of macOS and cannot be removed. The Audio MIDI Setup guide covers what it is and what the reset options really are.
How do you check the driver is really gone?
Four commands, each answering a different question, run on macOS 26.4.1:
ls /Library/Audio/Plug-Ins/HAL: no folder starting with BlackHole should be listed.system_profiler SPAudioDataType | grep -i -E 'blackhole|soundflower': prints nothing when Core Audio no longer sees either device. This is the same list Audio MIDI Setup shows.pkgutil --pkgs | grep -i -E 'blackhole|soundflower': prints nothing once the receipt is forgotten. On the author's Mac this still returnedaudio.existential.BlackHole2cheven though the driver folder had been deleted long ago, which is the kind of leftover that makes a later reinstall report "already installed".kmutil showloaded --list-only | grep -iv apple: prints nothing when no third-party kext is loaded (Soundflower only).
A device that still appears in one app but not in Audio MIDI Setup is the app's own cached choice, not a leftover driver. Reselect the input or output in that app. If BlackHole reappears after a restart, something reinstalled it: check brew list | grep blackhole, and check whether another app bundles its own copy of the driver.
Removing virtual audio drivers on a Mac: where each one lives (checked 3 Sept 2026)
| Item | Location | Removal | Needs Core Audio restart | Needs Mac restart | Leaves a receipt |
|---|---|---|---|---|---|
| BlackHole (pkg installer) | /Library/Audio/Plug-Ins/HAL/BlackHole2ch.driver | sudo rm -rf, then pkgutil --forget | yes | no | yes (audio.existential.BlackHole2ch) |
| BlackHole (Homebrew) | same folder, managed by Homebrew | brew uninstall blackhole-2ch | yes | no | no |
| Soundflower | /Library/Extensions/Soundflower.kext | sudo rm -rf the kext | no | yes | not checked |
| Aggregate or Multi-Output Device you built | Audio MIDI Setup sidebar | select, click Remove | no | no | no |
| ScreenCaptureKit recorder (AirCheck) | /Applications | drag to Trash | no | no | no |
Commands for BlackHole are from the project's Uninstallation wiki. The receipt identifier was read with pkgutil on the author's Mac.
Where AirCheck fits
People uninstall BlackHole because they only ever wanted to record what the Mac plays and got tired of the Multi-Output Device. AirCheck ($39, macOS 14 or newer) is the driverless way to do that job: it captures system audio through ScreenCaptureKit and any Core Audio input through the normal Microphone permission, installs nothing in /Library/Audio/Plug-Ins/HAL, and uninstalls by dragging the app to the Trash. Recordings are 24-bit at the device rate, exported as WAV or MP3 to ~/Music/AirCheck.
When you do not need it: If you are removing BlackHole only to reinstall a fresh copy because it stopped showing up, do that; routing between apps still needs a driver and AirCheck does not provide one.
AirCheck records what your Mac plays, or any input, to one file. $39 once.
macOS 14 or newer. One-off payment. Fourteen-day refund, no questions asked.
Questions people ask
How do I delete BlackHole 2ch audio from my Mac?
In Terminal: cd /Library/Audio/Plug-Ins/HAL, sudo rm -rf BlackHole2ch.driver, sudo killall -9 coreaudiod, then sudo pkgutil --forget audio.existential.BlackHole2ch. Remove any Multi-Output or aggregate device that used it in Audio MIDI Setup.
Why does BlackHole still show in Audio MIDI Setup after I deleted it?
coreaudiod has not reloaded its plug-in list. Run sudo killall -9 coreaudiod or restart the Mac. If it still appears, an app is holding the device open or a second copy exists; check ls /Library/Audio/Plug-Ins/HAL again.
How do I remove Soundflower from a Mac?
Delete /Library/Extensions/Soundflower.kext with sudo rm -rf and restart the Mac. Confirm with kmutil showloaded --list-only. On Apple silicon the kext never loaded anyway, so this only tidies the file and the Audio MIDI Setup list.
How do I delete Loopback audio from my Mac?
Loopback is a Rogue Amoeba app rather than a bare driver; follow the vendor's uninstall instructions in the Loopback manual at rogueamoeba.com rather than deleting files by hand. This page only covers BlackHole and Soundflower, whose removal steps are published by their authors.
Sources
- Existential Audio: BlackHole wiki, Uninstallation
- Existential Audio: BlackHole README (Homebrew install, coreaudiod restart)
- Matt Ingalls: Soundflower repository
- Apple: Combine audio devices into a single aggregate device (Remove button)
- Apple: Play audio through multiple devices at once (Remove button)
- Apple: Kernel extensions in macOS (Platform Deployment)
Related guides
- Is BlackHole safe for a Mac?
- Is Soundflower safe, and does it still work on a Mac?
- BlackHole not showing up in Audio MIDI Setup: how to fix it
- What is Audio MIDI Setup on a Mac?
- How to create an aggregate device on a Mac
- How to create a Multi-Output Device on a Mac (and keep hearing your audio)
- Virtual audio drivers and Audio MIDI Setup: all guides
- Every guide, by topic