Uninstalling mixr
Drag mixr to the Trash. That’s the whole uninstall.
That sentence is doing more work than it looks like. Most audio software on macOS can’t say it, because most audio software installs a driver.
There is exactly one asterisk, and only if you went looking for it: if you turned on Stream Deck support, mixr installed a plugin into Elgato’s own folder, which is outside mixr’s. It’s a text file and some JavaScript — not a driver, not in your audio path — but dragging mixr to the Trash won’t remove it. Switching that feature off deletes it, and so does one command if mixr is already gone.
Why mixr can be deleted this way
Apps that give you virtual channels or per-app routing usually do it by
installing a system-level audio driver — a HAL plug-in that lives in
/Library/Audio/Plug-Ins/HAL/, needs your admin password to install, and
inserts itself into your Mac’s audio path. That’s why their uninstall
instructions are long, and why “drag to Trash” leaves virtual devices in your
sound settings months later.
mixr doesn’t install one. Not a driver, not a virtual audio device, not a HAL plug-in, not a kext, not a system extension, not a background helper, not a launch daemon. There is nothing to leave behind because there is nothing in the audio path.
mixr uses Apple’s supported CoreAudio APIs — the same ones the volume keys use — to read and set properties on devices that already exist. When mixr quits, everything it created inside Core Audio is destroyed with it.
mixr never asks for your admin password, and never writes anything to
/Library or /System. If any app ever asks you for an admin password to
control your audio, that’s your signal that something is being installed into
your system.
What mixr leaves on disk
Five files, all in your own home folder, all plain text you can open and read.
~/Library/Application Support/mixr/settings.json
~/Library/Application Support/mixr/license.json
~/Library/Application Support/mixr/diagnostics/device-events.log
~/Library/Application Support/mixr/diagnostics/device-events.prev.log
~/Library/Preferences/com.machinery.mixr.plist
- settings.json — your per-app volumes, device priority lists, profiles, and auto-duck settings.
- license.json — your license, if you’ve bought mixr. Keep this if you’re reinstalling.
- diagnostics/device-events.log — a record of devices connecting and disconnecting, so you can see what mixr saw when something goes wrong. Capped at a couple of megabytes. Never leaves your Mac.
- com.machinery.mixr.plist — written by macOS, not by mixr: where you put the menu bar icon and where a window was last positioned.
That’s the complete list for a standard install. No Keychain items, no caches, no login-item plists, no hidden folders.
If you turned on Stream Deck support
This is the one thing mixr puts outside its own folder, and it only exists if you switched it on in Settings → Integrations:
~/Library/Application Support/com.elgato.StreamDeck/Plugins/com.machinery.mixr.streamdeck.sdPlugin/
That’s the Stream Deck plugin — a manifest.json, a few JavaScript files, and
some icons, run by Stream Deck’s own Node runtime. It installs no driver and
touches no audio; without mixr running it does nothing at all, and Stream Deck
simply shows “mixr not running” on the key.
The tidy way to remove it is before you delete mixr: Settings → Integrations → switch Stream Deck support off. Off means off — the socket closes and the plugin is deleted from Elgato’s folder in the same action. There’s no separate cleanup step to forget. If mixr is already gone, delete the folder above (the command is in the next section).
While Stream Deck support is on, mixr also opens a local socket file at
~/Library/Application Support/mixr/ipc.sock so the plugin can talk to it.
It’s removed when you quit mixr or switch the feature off, and it goes with the
rest of the folder when you delete Application Support/mixr. See
Privacy for what that socket can and can’t do.
Removing every trace
Deleting the app is enough for almost everyone. If you want zero trace:
Before you delete the app, if you had Launch at login turned on, turn it off in mixr’s Settings. macOS remembers login items separately from the app, and turning it off first keeps a stale entry from lingering in System Settings → General → Login Items. (If you already deleted mixr, you can remove the leftover entry there directly.)
Then, in Terminal:
rm -rf ~/Library/Application\ Support/mixr
rm -f ~/Library/Preferences/com.machinery.mixr.plist
And, only if you turned on Stream Deck support, the plugin in Elgato’s folder:
rm -rf ~/Library/Application\ Support/com.elgato.StreamDeck/Plugins/com.machinery.mixr.streamdeck.sdPlugin
Quit and reopen Stream Deck afterwards so it stops listing the actions. Nothing else in Elgato’s folder is touched — that path is the only thing mixr put there.
To also revoke the audio permission you granted:
tccutil reset AudioCapture com.machinery.mixr
macOS keeps its own record of the permission and the notification setting. Both are managed by macOS, not by mixr, and both become inert the moment the app is gone.
What about your audio settings?
mixr changes exactly the things you asked it to change, and it changes them the same way System Settings does — by setting a property on a device.
- Per-app volumes exist only while mixr is running. Quit mixr and every app is instantly back to its own volume. Nothing is written into the apps.
- Your input and output device stay wherever mixr last set them, the same as if you’d chosen them in System Settings yourself. Visible, and changeable, in System Settings → Sound.
- The mic kill switch un-mutes your input device when you quit mixr. Quitting with the mic muted never leaves it muted.
One honest exception: if mixr is force-quit or crashes while your mic is muted, it doesn’t get the chance to un-mute, and the mute stays on the device — the same as if you’d muted it in System Settings. If your mic seems dead after that, open System Settings → Sound → Input and check that the device isn’t muted and its input level isn’t at zero.
Reinstalling later
Your settings and license survive an uninstall, because they’re in Application
Support and not in the app. Delete mixr, reinstall it later, and everything is
as you left it — unless you ran the cleanup commands above, in which case
you’ll set it up fresh (keep license.json if you want to skip re-entering
your license).