Fix low-quality Bluetooth headset audio and stuck Hands-Free mode on Windows 10 and Windows 11.
Built for Call of Duty and Warzone players, gamers, streamers, developers, and anyone whose headphones suddenly sound like a phone call.
Download • Use cases • Modes • Quick start • Troubleshooting • FAQ • Build
Call of Duty, Warzone, Discord, or another game opened your Bluetooth microphone—and now the whole game sounds muffled, compressed, or mono?
BluetoothHandsFreeToggle is a free, open-source Windows utility for fixing low-quality Bluetooth headset audio caused by the Hands-Free Profile (HFP). Windows can switch gaming headphones from high-quality A2DP stereo to HFP call audio when Call of Duty voice chat, Discord, a browser, or recording software opens the headset microphone—and sometimes fails to switch back. This tool provides a safe Soft reset and a reliable Hard mode for restoring clear stereo game audio.
Latest GitHub release: 👉 https://github.com/Avazbek22/BluetoothHandsFreeToggle/releases/latest
Install via WinGet (Windows): winget install OlimoffDev.BluetoothHandsFreeToggle
| 🎮 Game-friendly | 🛡️ Recoverable | ⚡ Fast |
|---|---|---|
| Fix audio left in call mode after games, voice chat, or capture software. | Hard mode backs up the original Windows service state before changing anything. | Download one self-contained .exe; no installer or separate .NET runtime is required. |
Additional highlights:
- Interactive menu for quick recovery.
- Soft mode preserves headset microphone availability.
- Hard mode prioritizes high-quality playback.
- Restore returns the saved service startup and running state.
- Final state verification after every operation.
- English and Russian application interface with automatic language detection.
- Built-in help, status reporting, and safe handling of partial failures.
You launch Call of Duty, enter a Warzone match, or enable voice chat in a Black Ops multiplayer lobby. Windows activates the headset microphone, switches from A2DP stereo to HFP call mode, and gunfire, footsteps, music, and spatial audio suddenly sound thin or muffled.
Close or disable the in-game Bluetooth microphone first, then use Soft reset. If you use a laptop, USB, or standalone microphone and only need the headset for playback, Hard mode prevents Windows from selecting Bluetooth HFP again.
Some games and communication apps release the microphone without Windows restoring the original stereo route. Soft reset restarts the active HFP service without changing its startup configuration and can release that stuck call session.
Running Discord, Steam Chat, Xbox Game Bar, or in-game voice chat alongside a game can keep the Bluetooth microphone active. Select a laptop or USB microphone in the voice application, then reset HFP to recover high-quality game audio.
OBS, NVIDIA ShadowPlay, browser recording tools, and other capture software may open the default headset microphone. After changing their input device or stopping capture, use Soft reset to return to stereo playback.
Hard mode is designed for this setup. It disables Bluetooth Classic HFP system-wide, forcing Windows to prioritize high-quality A2DP playback. Restore HFP later whenever you need the headset microphone again.
| Mode | What it does | Headset microphone | Best used when |
|---|---|---|---|
| Status | Reads supported HFP services and backup state without changing anything. | Available | You want to inspect the current state or diagnose a problem. |
| Soft reset | Restarts only active HFP services without changing their startup type. | Preserved | A game or voice app released the microphone, but Windows stayed in call mode. |
| Hard mode | Stops and disables Bluetooth Classic HFP system-wide after saving the original state. | Disabled | You need reliable stereo playback now and can use another microphone—or no microphone. |
| Restore | Restores the startup and Running/Stopped state saved by Hard mode. | Restored | You need the Bluetooth headset microphone again. |
Important
Bluetooth Classic cannot provide A2DP-quality stereo playback while the headset's HFP microphone is actively in use. Soft reset can clear a stuck HFP session, but it cannot bypass this Bluetooth limitation. Hard mode solves the quality problem by disabling HFP, which also disables the Bluetooth headset microphone.
On Windows 11, A2DP and HFP are exposed through unified audio endpoints, and Windows automatically selects HFP when an application opens the headset microphone. For the platform details, see Microsoft's Bluetooth Classic Audio documentation.
- Download
BluetoothHandsFreeToggle.exefrom the latest release. - Close Call of Duty, Warzone, Discord, browsers, OBS, recording tools, and other applications that may be using the headset microphone.
- Run the executable. Interactive mode requests Administrator access once; canceling UAC leaves status-only functionality available.
- Start with
[2] Soft reset. - If Windows immediately returns to low-quality audio, confirm that no application is still using the headset microphone.
- Use
[3] Hard modewhen you want to prioritize playback quality completely. - Use
[4] Restorewhenever you need the Bluetooth headset microphone again.
After an operation, reconnect the headset or restart audio playback if a game cached the previous Windows audio route.
[1] Get status
[2] Soft reset
[3] Hard mode
[4] Restore
[5] Help
[6] About
[7] Change language
[8] Support the project (Boosty)
[0] Exit
The selected application language is stored in:
%AppData%\BluetoothHandsFreeToggle\ui-settings.json
- Disable in-game voice chat or select a laptop/USB microphone in the Call of Duty audio settings.
- Close any lobby, overlay, or background voice application still using the Bluetooth microphone.
- Run Soft reset.
- Restart the game audio or reconnect the headset if the old route was cached.
- If you do not need the headset microphone, use Hard mode for reliable A2DP playback.
- Exit every app that might be capturing the Bluetooth microphone.
- Run Soft reset.
- Restart playback or reconnect the headset if necessary.
An application is probably still opening the HFP microphone. Check:
- In-game voice chat and microphone settings.
- Discord, Steam Chat, Teams, or another communication app.
- OBS, ShadowPlay, audio recorders, browser permissions, and background tabs.
- The selected input device in Windows and each running application.
Disable microphone access in that application, select a laptop/USB microphone, or use Hard mode.
Run Restore. It returns the service configuration saved before Hard mode. If no backup exists, the tool uses conservative recovery defaults: Manual + Running.
Run Restore again. The backup is intentionally kept until every supported service has been successfully restored and verified.
Before Hard mode changes service configuration, the original state is stored in:
%ProgramData%\BluetoothHandsFreeToggle\backup.json
Recovery behavior is intentionally conservative:
- If a backup cannot be created, Hard mode makes no service changes.
- Repeated Hard mode runs preserve the first original-state backup.
- Backups are written atomically through a temporary file.
- Partial Restore attempts keep the backup for another retry.
- A fully successful and verified Restore removes the backup.
- A named mutex prevents concurrent operations from racing over services or backup state.
- Every operation reads the final Windows service state and reports partial failures.
The tool uses the Windows Service Control Manager API. It does not:
- Uninstall or replace Bluetooth drivers.
- Remove Bluetooth pairings.
- Modify headset firmware.
- Directly edit service startup values in the registry.
- Disable core Bluetooth services such as
bthservorBluetoothUserService.
The target list is intentionally small:
| Service | Purpose |
|---|---|
BTAGService |
Bluetooth Audio Gateway used for HFP on many Windows 11 systems. |
BthHFSrv |
Bluetooth Hands-Free service present on some Windows 10 systems. |
Hard mode affects Bluetooth Classic HFP system-wide, not one selected headset. Bluetooth LE Audio and vendor-specific Bluetooth stacks may behave differently.
- Windows 10 or Windows 11.
- Official release builds: self-contained single-file
win-x64andwin-arm64. - Bluetooth Classic headsets using A2DP/HFP.
- Administrator access for Soft, Hard, and Restore operations.
Call of Duty voice chat can open the Bluetooth headset microphone. On Bluetooth Classic devices, Windows must then switch from high-quality A2DP stereo to the lower-bandwidth HFP call profile. The result can sound muffled, compressed, mono, or similar to telephone audio.
The game, an overlay, Discord, or another background process may still hold the microphone open. Windows can also leave the HFP session stuck after the microphone is released. Close every microphone user and try Soft reset.
Not with the Bluetooth Classic A2DP/HFP combination. A2DP provides high-quality stereo output, while HFP provides two-way call audio with reduced playback quality. Use a laptop or USB microphone if you want clear game audio and voice chat at the same time.
It can fix audio that remains stuck in HFP after those applications stop using the headset microphone. If an application is still actively recording from the Bluetooth microphone, Windows will continue to require HFP until you change or disable that input.
No. Hard mode stores the original service configuration first. Choose Restore from the menu to return the saved startup and running state.
No. The official win-x64 release is a self-contained single executable. The .NET 10 SDK is required only when building the project from source.
The codebase keeps Windows-specific operations separate from recovery logic:
BluetoothHandsFreeToggle/
├── App/ Application startup, elevation, and documentation
├── Core/ Soft, Hard, Restore, status, and backup logic
├── Localization/ English and Russian resources
├── UI/ Interactive console interface
└── Windows/ Service Control Manager integration
BluetoothHandsFreeToggle.Tests/
└── Unit tests for state transitions, backups, failures, and localization
Quality safeguards include nullable reference types, recommended .NET analyzers, warnings treated as errors, final-state verification, and unit tests for recovery-critical paths.
Requirements:
- Windows 10 or Windows 11.
- .NET 10 SDK.
- Git.
git clone https://github.com/Avazbek22/BluetoothHandsFreeToggle.git
cd BluetoothHandsFreeToggle
dotnet restore
dotnet build --configuration Release --no-restore
dotnet test --configuration Release --no-build --no-restoreCreate verified release artifacts for win-x64 and win-arm64:
.\scripts\Publish-Release.ps1The release script requires a clean master branch synchronized with origin/master,
runs all tests, publishes both architectures, and generates SHA-256 checksums. For a
local packaging test from another branch or a dirty working tree:
.\scripts\Publish-Release.ps1 -SkipRepositoryChecksRelease files are placed under:
artifacts/release/v<version>/
BluetoothHandsFreeToggle is free and open source. If it saved your game night, stream, meeting, or debugging session, consider supporting continued development and testing:
Bug reports, reproducible Windows/Bluetooth edge cases, and focused pull requests are welcome. Please include your Windows version, headset model, affected service state, and the application that triggered HFP when reporting audio-routing problems.
Released under the MIT License.
© 2026 Avazbek Olimov