MicCheck (Testing 1 2 1 2)

I wanted a quick system-wide menu item that would show my microphone’s current muted state and I wanted an easy way to change the state globally from this very same menu item. Sure, I can do this from a specific app (Zoom, Teams, Meet, …) but I didn’t want to go hunting from app-to-app looking for the mute button.
So: MicCheck. It is a tiny macOS menu bar app with one job: keep your microphone muted until you decide otherwise. It sits up in the menu bar showing ON AIR or OFF AIR. When something tries to unmute your mic without permission — a browser, a background app, whatever — MicCheck catches it at the system (CoreAudio) level and reverts it within milliseconds.
I built it with one feature that I couldn’t find elsewhere: a whitelist for allowed apps. For example, I use Superwhisper constantly for voice-to-text. The problem with a hard mute enforcer is that it would block Superwhisper too. So MicCheck has an allowed apps list — you add Superwhisper (or any other app you trust), and MicCheck steps aside when that app needs the mic. The moment your whitelisted app finishes recording and releases the input device, MicCheck re-mutes automatically. No button press. No forgetting to mute again. It just goes back to where it was.
The whitelist works at the audio session level, not just the mute property level. Most apps don’t touch the system mute flag — they open an audio stream and expect audio to flow. MicCheck watches for that too, so whitelisted apps get real audio while everything else gets silence.
It’s built with SwiftUI and CoreAudio, targets macOS 13+, and lives entirely in the menu bar — no Dock icon, no windows unless you open Preferences. Global hotkey (⌥⇧M by default, fully remappable), optional sounds and notifications, launch at login.
The source is on GitHub. Build it yourself or just grab the app download.
One thought on “MicCheck (Testing 1 2 1 2)”
Comments are closed.