Fixing Browser Tamer Issues in Windows

Browser Tamer Working Again on Windows (for the moment)

The Problem

I loved Browser Tamer. If you don’t know it, it’s a small tool that sits between Windows and your browsers. When you click a link anywhere on your system, Browser Tamer catches it first and lets you decide which browser should open it.

If you use multiple browsers (for example work, personal, testing, or different profiles), it’s incredibly useful.

For years the process was simple: download the installer, install it, set it as the default browser, done.

Then things changed.

At some point the classic installer stopped being distributed. Browser Tamer itself didn’t disappear — the developer simply stopped producing the traditional installer package and instead distributes the application as a .zip or through winget (the Windows package manager).

I switched to the winget version, but it started giving me problems. Links would not always open through Browser Tamer, settings sometimes reverted, and Windows increasingly resisted letting Browser Tamer become the real default handler.

That’s when I realized the issue was not Browser Tamer itself.

The real issue was Windows.


Why Windows Makes This Difficult

Modern versions of Windows include several mechanisms designed to prevent programs from silently changing default applications.

The official explanation from Microsoft is security: malware could otherwise change your browser or file associations without your consent.

That explanation makes sense on the surface.

However the side effect is that legitimate tools — including utilities like Browser Tamer — have a much harder time registering themselves as default handlers.

Some of the technologies involved include:

  • UserChoice – the registry location where Windows stores default app selections.
  • UserChoice hash protection – a cryptographic hash that prevents direct registry editing.
  • UCPD (User Choice Protection Driver) – a Windows driver that blocks unauthorized changes.
  • UserChoiceLatest – a newer system introduced in recent Windows builds that uses a different hash format.

All of these together make default application changes harder to perform programmatically.

After some experimentation, I figured out a method to get Browser Tamer working again (for the moment).

This guide explains my findings and what I did


The Tools I Use

Browser Tamer

This is the application we ultimately want to use. It intercepts web links and routes them to the browser we choose.

Website:
https://www.aloneguid.uk/projects/bt/

winget

winget is Microsoft’s official Windows package manager. It allows installing and updating applications from the command line.

I use it to install Browser Tamer.

ViVeTool

ViVeTool is a utility that allows enabling or disabling hidden Windows feature flags.

Windows uses feature flags internally to test and gradually roll out new features. ViVeTool allows controlling them manually.

In this guide I use it to disable specific Windows protections that interfere with default browser configuration.

Download:
https://github.com/thebookisclosed/ViVe/releases

PS-SFTA

PS-SFTA is a PowerShell module that can correctly set Windows file and protocol associations by generating the required hash values.

Windows refuses association changes without the correct hash, so this tool performs the necessary calculation.

Download:
https://github.com/DanysysTeam/PS-SFTA


⚠️ Important Warnings Before Starting

This guide modifies Windows configuration.

While the procedure is safe if performed carefully, several steps interact with sensitive parts of the operating system.

  • Some steps modify the Windows registry.
  • Some steps require administrator privileges.
  • Future Windows updates may revert some of these changes.

The method described in this article is not an official or supported procedure. It is simply the approach I arrived at through research, testing, and experimentation on my own systems. I cannot guarantee that it is the only correct way to achieve this result, nor that it will work in every Windows configuration.

Some of the steps modify system settings and interact with internal Windows mechanisms that are not intended to be user-configurable. Because of that, behavior may change with future Windows updates, and the procedure may stop working or require adjustments.

If you choose to follow this guide, you do so entirely at your own risk and responsibility. Make sure you understand each step before performing it and take appropriate precautions, such as backing up relevant settings or creating a restore point beforehand.


Step 1 – Install Browser Tamer

Open a normal PowerShell or Command Prompt window.

winget install --id aloneguid.bt -e --accept-source-agreements --accept-package-agreements

This installs the latest version of Browser Tamer.

If it is already installed, winget will simply update it.


Step 2 – Launch Browser Tamer Once

After installation, run Browser Tamer once and close it.

This creates its configuration file in:

%LOCALAPPDATA%\bt\config.ini

This file stores Browser Tamer settings.


Step 3 – Configure the Browser Picker

Open the file:

%LOCALAPPDATA%\bt\config.ini

Find or add the following section:

[picker]
always = y

This forces Browser Tamer to always show the browser picker when opening links.

Important: Browser Tamer must be closed before editing this file.


Step 4 – Register Browser Tamer as a Browser

Windows must know Browser Tamer exists as a valid browser handler.

This step registers Browser Tamer in the Windows registry so it appears in the list of browsers.

After this step you should be able to see Browser Tamer under:

Settings → Apps → Default Apps


Step 5 – Backup Existing Associations

Before modifying any associations I export the current registry entries.

The keys I back up include:

HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http
HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https

This provides a rollback point if something goes wrong.


Step 6 – Disable the UCPD Driver

This step requires administrator privileges.

Open an elevated PowerShell window and run:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\UCPD" /v Start /t REG_DWORD /d 4 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\UCPD" /v FeatureV2 /t REG_DWORD /d 0 /f

These values disable the User Choice Protection Driver.

Danger: This modifies system-level protections designed to prevent unauthorized default application changes.


Step 7 – Disable the UCPD Scheduled Task

Windows includes a scheduled task that can re-enable UCPD automatically.

To disable it run:

schtasks /change /Disable /TN "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"

If this step is skipped, Windows may undo previous changes after reboot.


Step 8 – Disable Feature Flags Using ViVeTool

Open an elevated PowerShell in the folder where ViVeTool is located.

Run:

ViVeTool.exe /disable /id:44860385
ViVeTool.exe /disable /id:43229420
ViVeTool.exe /disable /id:27623730

These flags disable mechanisms related to default app hash rotation and UserChoiceLatest.

Danger: ViVeTool modifies hidden Windows feature flags. Only change the specific flags described here.


Step 9 – Set Browser Associations

Now open PowerShell as your normal user.

Load PS-SFTA:

. "C:\path\to\SFTA.ps1"

Then set protocol associations:

Set-PTA BrowserTamerHTM http
Set-PTA BrowserTamerHTM https

Then set file type associations:

Register-FTA "C:\path\to\bt.exe" .html -ProgId BrowserTamerHTM
Register-FTA "C:\path\to\bt.exe" .htm -ProgId BrowserTamerHTM
Register-FTA "C:\path\to\bt.exe" .pdf -ProgId BrowserTamerPDF

This writes the correct UserChoice entries including the required hash values.


Step 10 – Verify

Verify the associations using:

Get-PTA http
Get-PTA https
Get-FTA .html
Get-FTA .pdf

They should return BrowserTamerHTM or BrowserTamerPDF.

Finally reboot and test opening links.

If everything worked correctly, Browser Tamer will intercept them and show the browser picker.


Final Thoughts

The surprising thing I discovered through this process is that Browser Tamer itself was never the real problem.

The real issue was how aggressively modern Windows protects default application settings.

While the goal of preventing malicious software from hijacking browser settings is understandable, it also makes legitimate customization much harder.

Once everything is configured, Browser Tamer works exactly as it used to — letting you decide which browser opens every link (for the moment).

Leave a Reply

Your email address will not be published. Required fields are marked *