MicPin is a tiny macOS menu-bar app that keeps the Mac's built-in microphone as the system default input.
AirPods and other Bluetooth headsets can take over the input when they reconnect or switch between devices. Calls and recordings then use a different microphone without warning.
I built MicPin because my AirPods microphone is faulty. Every device switch can make macOS select it again; MicPin immediately switches the input back to the MacBook microphone.
MicPin uses Core Audio to identify the built-in input, watch the system default, and restore it whenever another device takes over. It changes input only and never records audio.
The app has no network access, analytics, updater, third-party dependencies, helper process, microphone permission, or administrator privileges. Quit MicPin to stop it, or enable Open at Login from its menu-bar icon.
MicPin requires macOS 13 or later on an Apple-silicon Mac.
Download MicPin.dmg and MicPin.dmg.sha256 from the
latest release, then
verify the disk image:
shasum -a 256 -c MicPin.dmg.sha256Open the disk image and drag MicPin to Applications. Releases are ad-hoc signed and not notarized, so you may need to Control-click the app and choose Open the first time.
Install Apple's Command Line Tools, then run:
./build.shThe app is created at build/MicPin.app.
- MicPin must be running to enforce the input.
- It supports only the built-in Mac microphone.
- Apps that select their own microphone can bypass the macOS system default.
The event-listener approach was informed by LockAudio. MicPin is an independent Swift implementation and includes no LockAudio source or packages.