# Swapping Chrome for Brave on Windows

**Date:** 2026-09-18  
**Author:** Kees C. Bakker  
**Categories:** Automation  
**Original:** https://keestalkstech.com/swapping-chrome-for-brave-on-windows/

![Swapping Chrome for Brave on Windows](https://keestalkstech.com/wp-content/uploads/2026/09/ingo-stiller-3tkxfe2GocY-unsplash.jpg)

---

Unfortunately, Google phased out Manifest V2 in Chrome, so the full version of uBlock Origin is no [longer available](https://ublockorigin.com/):

> In late 2024, Google completed its transition to **Manifest V3** in Chrome, which fundamentally changed how browser extensions work. As a result, the full version of **uBlock Origin** is no longer available for Chrome users. Here's what happened and what your options are now.

Let's switch to [Brave](https://brave.com/), a more privacy-focused browser.

## Installation

We can install it from the command-line:

```
winget install Brave.Brave
```

## Disable Brave features

I don't need Leo, Wallet, or the built-in VPN. We can disable these features with a registry policy. Run the following in an elevated terminal:

```
& {
    if (!(whoami /groups | findstr S-1-16-12288)) {
        throw 'Run PowerShell as Administrator.'
    }

    $policyPath = 'HKLM:\SOFTWARE\Policies\BraveSoftware\Brave'

    New-Item -Path $policyPath -Force | Out-Null

    $policies = @{
        BraveAIChatEnabled  = 0
        BraveWalletDisabled = 1
        BraveVPNDisabled    = 1
    }

    foreach ($policy in $policies.GetEnumerator()) {
        New-ItemProperty `
            -Path $policyPath `
            -Name $policy.Key `
            -PropertyType DWord `
            -Value $policy.Value `
            -Force | Out-Null
    }

    Write-Host 'Brave policies applied successfully.'
    Write-Host 'Restart Brave for the changes to take effect.'
}
```

Restart Brave and check `brave://policy` to verify that the policies are active.

## "Help" my muscle memory

I'm quick to do `ctrl+v` and type `chrome`. But if you want to run Brave (and you still have Chrome due to company policy), you have to patch it in the registry:

```
& {
  $brave = @(
    "$env:ProgramFiles\BraveSoftware\Brave-Browser\Application\brave.exe"
    "${env:ProgramFiles(x86)}\BraveSoftware\Brave-Browser\Application\brave.exe"
    "$env:LOCALAPPDATA\BraveSoftware\Brave-Browser\Application\brave.exe"
  ) | Where-Object { $_ -and (Test-Path $_) } | Select-Object -First 1

  if (-not $brave) {
    throw 'Brave niet gevonden.'
  }

  $key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe'

  New-Item $key -Force | Out-Null
  Set-Item $key -Value $brave
  Set-ItemProperty $key -Name 'Path' -Value (Split-Path $brave)

  $item = Get-Item $key

  Write-Host 'Registry patch gezet:'
  Write-Host "  chrome.exe -> $($item.GetValue(''))"
  Write-Host "  Path       -> $($item.GetValue('Path'))"
}
```

## Fix the profile icons

I'm using 2 profiles on my browser, one for business, one for private. In Chrome one can load custom profile pictures, but Brave does not have [this much wanted feature](https://github.com/brave/brave-browser/issues/27300?utm_source=chatgpt.com). Fortunately, there is a workaround: just copy the two pictures to `%LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data\Avatars` and give them these file names:

- [avatar_edgy_brave.png](https://github.com/brave/brave-core/blob/master/app/theme/default_100_percent/common/avatars/avatar_edgy_brave.png?utm_source=chatgpt.com) (second on the top row)
- [avatar_edgy_ocean.png](https://github.com/brave/brave-core/blob/master/app/theme/default_100_percent/common/avatars/avatar_edgy_ocean.png?utm_source=chatgpt.com) (third on the top row)

So now my how screen looks like this:

![Use custom profile icons.](https://keestalkstech.com/wp-content/uploads/2026/09/image-3.png)
