HeadsetControl-MacOSTray is a macOS background application that uses the headsetcontrol library to talk directly to supported headsets. It provides a convenient status bar menu to display headset battery, chatmix, and device information, and allows quick access to settings and refresh actions.
- MacOS 14 or later
- Homebrew to install headsetcontrol and the app
- Install headsetcontrol via Homebrew. The app links against the installed library and headers:
brew tap sapd/headsetcontrol brew trust --formula sapd/headsetcontrol/headsetcontrol brew install sapd/headsetcontrol/headsetcontrol --HEAD - Install headsetcontrol-macostray via Homebrew
brew tap ChrisLauinger77/cask brew trust --cask chrislauinger77/cask/headsetcontrol-macostray brew install --cask chrislauinger77/cask/headsetcontrol-macostray
- Restart the app after installing or updating headsetcontrol so macOS loads the current library.
- Follow the first-launch instructions below if macOS blocks the app.
The universal macOS build supports Apple Silicon and Intel. It is ad-hoc signed but cannot be notarized without a paid Apple Developer Program membership. On first launch:
- Control-click
HeadsetControl-MacOSTray.appin Finder and choose Open. - Confirm Open in the security dialog.
If macOS still blocks the app, open System Settings → Privacy & Security, find the HeadsetControl-MacOSTray message, and choose Open Anyway.As a final option, remove the quarantine attribute from a build you downloaded from this repository and trust:
xattr -dr com.apple.quarantine "/Applications/HeadsetControl-MacOSTray.app"- This app
brew upgrade
- headsetcontrol
headsetcontrol is used as a library to talk to supported headsets. It should be updated occasionally even when the app has no updates. The app will use the updated library after restart of the app. Additional headsets might be added as well as new features for existing ones.
brew reinstall headsetcontrol
Tray
Settings
- Status bar integration for headset battery and chatmix
- Settings panel for configuration
- Refresh button to manually update headset status
- Automatic periodic updates
- Direct integration with libheadsetcontrol through the headsetcontrol C API
- Test mode for checking menu and battery states without a connected headset
-
The tray menu dynamically displays controls based on the capabilities reported by your headset. If a capability is available, a corresponding submenu or action is shown:
-
Sidetone: Choose from Off, Low, Mid, High, Max. Sets the sidetone level through the headsetcontrol library.
-
Lights: Toggle headset lights on or off.
-
Inactive Time: Choose the headset idle timeout from the configured options.
-
Voice Prompts: Toggle headset voice prompts on or off.
-
Rotate to Mute: Toggle rotate-to-mute on or off.
-
Equalizer Preset: If available, shows preset names from the device; otherwise, shows the configured generic presets.
These menu items only appear if the headset reports the corresponding capability through libheadsetcontrol. Selecting an option immediately applies the setting through the library; V2.x no longer launches the headsetcontrol command line tool as a subprocess.
If you like my work, please consider supporting me !

- Clone this repository:
git clone https://github.com/ChrisLauinger77/HeadsetControl-MacOSTray.git
- Install headsetcontrol so Xcode can find
headsetcontrol_c.handlibheadsetcontrol. - Open the project in Xcode and build.
- The app runs in the background and places an icon in the macOS status bar.
- Click the icon to view headset data.
- Access settings via the dialog to configure update interval, sidetone levels, inactive-time options, equalizer preset names, low-battery notifications, and test mode.
- Use the Refresh button in the settings panel to manually update headset status.
- No headset data appears: Ensure headsetcontrol is installed, restart the app, and check that your headset is supported by the installed headsetcontrol version.
- Build fails with
headsetcontrol_c.h not found: Install headsetcontrol through Homebrew and make sure the headers are available in/opt/homebrew/includeor/usr/local/include.
See LICENSE for details.
- Sapd for HeadsetControl





