Remove Brave Wallet, Leo AI, Brave Rewards, Brave VPN, and more — cleanly and permanently.
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 |
|---|
- User-Level | Lost on profile reset | Simple |
- Managed Preferences | Survives updates | Recommended |
Close Brave completely before applying any changes.
Open Terminal and run:
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
defaults write com.brave.Browser BraveWalletDisabled -bool true
defaults write com.brave.Browser CryptoWalletEnabled -bool false
defaults write com.brave.Browser BraveRewardsDisabled -bool true
defaults write com.brave.Browser BraveVPNDisabled -bool true
Reopen Brave and verify.
This creates a system-level policy file that Brave reads on every launch. It takes precedence over user settings and survives reinstalls.
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
sudo chmod 644 "/Library/Managed Preferences/com.brave.Browser.plist"
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.
killall "Brave Browser" 2>/dev/null; open -a "Brave Browser"
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.
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/>
.plist
files are XML. Two rules to avoid breaking them:
No XML comments use#
comments.<!-- 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.
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
sudo rm "/Library/Managed Preferences/com.brave.Browser.plist"
Restart Brave after reverting.
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.