FocusMic is a small open-source macOS utility that keeps the system default audio input and output on the devices you choose. If macOS, a Bluetooth headset, a USB interface, or another app changes either default device, FocusMic can switch it back automatically.
Download the latest build from GitHub Releases, or install with Homebrew:
brew install --cask lageev/tap/focusmicRuntime requirement: macOS 15.0 or later.
- Open FocusMic.
- Click the menu bar icon.
- Choose the input and/or output device you want to keep.
- Turn on the corresponding Guard input device or Guard output device switch.
When a chosen device is online, FocusMic keeps it as the corresponding system default input or output. If it disconnects, FocusMic waits and restores it when it comes back.
- Menu bar device picker and guard switch.
- Independent input and output guards with automatic restore when either default device changes.
- Optional input volume lock for the selected device.
- Optional live input level meter, calculated locally.
- Device details: transport type, sample rate, bit depth, channels, volume, and in-use state.
- Hot-plug support for USB, Bluetooth, built-in, and other Core Audio input/output devices.
- Recent activity log.
- Launch at login.
- Direct-download updates via Sparkle. App Store builds are updated by the App Store.
FocusMic runs locally on your Mac.
- It does not record, upload, or analyze audio.
- The level meter only reads local loudness in real time and stores nothing.
- There is no account, analytics, ads, tracking, or crash reporting.
- GitHub/Homebrew builds only use the network for Sparkle update checks.
- Preferences are stored locally in
UserDefaults.
Read the full Privacy Policy.
Requirements:
- macOS 15.0 or later
- Xcode 16 or later with the macOS 15 SDK
Run from source:
- Clone this repository.
- Open
FocusMic.xcodeprojin Xcode. - Select the
FocusMicscheme. - Run from Xcode.
Main technologies: SwiftUI, Core Audio, Observation, ServiceManagement, and Sparkle.
.
├── FocusMic.xcodeproj/ # Xcode project
├── FocusMic/
│ ├── App/ # App entry, lifecycle, updater, brand links
│ ├── Audio/ # Core Audio device model and guard logic
│ ├── Settings/ # Preferences and launch-at-login support
│ ├── UI/ # SwiftUI menu bar, main window, rows, logs
│ ├── Assets.xcassets/ # App icons and colors
│ └── IconSources/ # Source icon assets
├── docs/assets/ # README images
├── SupportFiles/ # Info.plist and entitlements
├── landing/ # Website, legal pages, appcast
├── README.md
└── README.zh-CN.md
Scan with WeChat to join the FocusMic user group. QR code valid before 2026-07-12.
Thanks to the linux.do community for the support and feedback.
MIT

