Skip to content

Instantly share code, notes, and snippets.

@byzandome
Created June 18, 2026 13:28
Show Gist options
  • Select an option

  • Save byzandome/e4ab668b1d38d747f81bef78889ca52a to your computer and use it in GitHub Desktop.

Select an option

Save byzandome/e4ab668b1d38d747f81bef78889ca52a to your computer and use it in GitHub Desktop.
Debloat Brave Browser on macOS — The Right Way

Debloat Brave Browser on macOS

Remove Brave Wallet, Leo AI, Brave Rewards, Brave VPN, and more — cleanly and permanently.


Overview

Brave Browser ships with cryptocurrency, AI, VPN, and other features that many users don't need. This guide disables them properly using macOS policy files so they stay gone — even after browser updates.

Two methods:

Method Persistence Complexity
1. User-Level Lost on profile reset Simple
2. Managed Preferences Survives updates Recommended

Before You Start

Close Brave completely before applying any changes.


Method 1: User-Level (Quick)

Open Terminal and run:

# Disable Leo AI
defaults write com.brave.Browser BraveAIChatEnabled -bool false
defaults write com.brave.Browser BraveLeoEnabled -bool false
defaults write com.brave.Browser BraveChatEnabled -bool false
defaults write com.brave.Browser BraveAIEnabled -bool false

# Disable Brave Wallet
defaults write com.brave.Browser BraveWalletDisabled -bool true
defaults write com.brave.Browser CryptoWalletEnabled -bool false

# Disable Brave Rewards
defaults write com.brave.Browser BraveRewardsDisabled -bool true

# Disable Brave VPN
defaults write com.brave.Browser BraveVPNDisabled -bool true

Reopen Brave and verify.


Method 2: Managed Preferences (Recommended)

This creates a system-level policy file that Brave reads on every launch. It takes precedence over user settings and survives reinstalls.

Step 1 — Create the file

sudo tee "/Library/Managed Preferences/com.brave.Browser.plist" > /dev/null << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BraveAIChatEnabled</key>
    <false/>
    <key>BraveRewardsDisabled</key>
    <true/>
    <key>BraveVPNDisabled</key>
    <true/>
    <key>BraveWalletDisabled</key>
    <true/>
    <key>BraveLeoEnabled</key>
    <false/>
    <key>BraveChatEnabled</key>
    <false/>
    <key>BraveAIEnabled</key>
    <false/>
    <key>CryptoWalletEnabled</key>
    <false/>
</dict>
</plist>
EOF

Step 2 — Set permissions

sudo chmod 644 "/Library/Managed Preferences/com.brave.Browser.plist"

Step 3 — Validate the file

plutil -lint "/Library/Managed Preferences/com.brave.Browser.plist"

You must see: /Library/Managed Preferences/com.brave.Browser.plist: OK

If you see an error, the XML is malformed — check for stray characters.

Step 4 — Restart Brave

killall "Brave Browser" 2>/dev/null; open -a "Brave Browser"

Verify

Open brave://policy in the address bar.

Every key you set should appear with status Active and the correct value. If a key is missing, Brave did not read it — recheck the plist syntax.


Extra Keys (Optional)

Add these inside <dict> to remove even more:

<key>BraveNewsDisabled</key>
<true/>
<key>BraveTalkDisabled</key>
<true/>
<key>SyncDisabled</key>
<true/>
<key>TorDisabled</key>
<true/>
<key>IncognitoModeAvailability</key>
<integer>1</integer>
<key>BraveP3AEnabled</key>
<false/>
<key>BraveStatsPingEnabled</key>
<false/>
<key>BraveWebDiscoveryEnabled</key>
<false/>

Important: XML Rules

.plist files are XML. Two rules to avoid breaking them:

  • No # comments. XML comments use <!-- like this -->.
  • No trailing text after a closing tag.

If the file is invalid, Brave ignores it silently — no warnings, no errors. Always run plutil -lint to confirm.


Reverting

User-Level

defaults delete com.brave.Browser BraveAIChatEnabled
defaults delete com.brave.Browser BraveLeoEnabled
defaults delete com.brave.Browser BraveChatEnabled
defaults delete com.brave.Browser BraveAIEnabled
defaults delete com.brave.Browser BraveWalletDisabled
defaults delete com.brave.Browser CryptoWalletEnabled
defaults delete com.brave.Browser BraveRewardsDisabled
defaults delete com.brave.Browser BraveVPNDisabled

Managed Preferences

sudo rm "/Library/Managed Preferences/com.brave.Browser.plist"

Restart Brave after reverting.


Credits

Based on hi-one/Debloat-Brave-Browser-MacOS.md with XML syntax corrections and expanded verification. Credit to the original author for the groundwork.


This guide is unofficial. Use at your own risk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment