How to Remove and Disable Google Gemini Nano Model Downloads on Chrome Linux 2025
The Silent Chrome AI Model Problem
Google Chrome has begun automatically downloading a 4 GB Gemini Nano on-device AI model to user machines without consent, warning, or opt-out mechanisms. The file, called weights.bin, gets installed to your storage under the OptGuideOnDeviceModel directory. If you delete it, Chrome simply re-downloads it on next launch. For developers running lean Linux systems or managing bandwidth-constrained environments, this silent installation is a significant concern.
This guide walks you through identifying, removing, and permanently disabling these downloads on Linux systems.
Understanding the weights.bin Installation
When Chrome decides to deploy Gemini Nano, it places the model weights in a predictable location:
~/.config/google-chrome/Default/OptGuideOnDeviceModel/
# or for Chromium:
~/.config/chromium/Default/OptGuideOnDeviceModel/
The weights.bin file represents the neural network weights for Google's Gemini Nano LLM. At 4 GB, this is substantial on systems with limited storage or running in containerized environments. The problem compounds when multiple user profiles exist—each gets its own copy.
Step 1: Verify the Installation
First, check whether Chrome has already downloaded Gemini Nano on your system:
ls -lh ~/.config/google-chrome/Default/OptGuideOnDeviceModel/
# Check size
du -sh ~/.config/google-chrome/Default/OptGuideOnDeviceModel/
If the directory exists and contains weights.bin, Chrome has already performed the silent installation. The file size should be approximately 4 GB.
Step 2: Immediate Removal
To remove the downloaded model immediately:
# Close Chrome completely first
killall chrome
# Remove the OptGuideOnDeviceModel directory
rm -rf ~/.config/google-chrome/Default/OptGuideOnDeviceModel/
# For Chromium users
rm -rf ~/.config/chromium/Default/OptGuideOnDeviceModel/
# Verify removal
ls -la ~/.config/google-chrome/Default/ | grep OptGuide
The directory should now be absent from the listing.
Step 3: Prevent Re-Download with Policy Configuration
The critical issue: Chrome will re-download this model on next launch unless you disable it at the policy level. Chrome respects managed policies on Linux through JSON configuration files.
Create or edit Chrome's managed policies configuration:
# Create the managed policies directory if it doesn't exist
sudo mkdir -p /etc/opt/chrome/policies/managed/
# Create a policy file (requires sudo)
sudo nano /etc/opt/chrome/policies/managed/chrome_policies.json
Add the following policy JSON to disable on-device model installations:
{
"OnDeviceModelExecutionEnabled": false,
"OnDeviceAIEnabled": false,
"ChromeEnhancedDownloadProtectionEnabled": false
}
Save and exit (Ctrl+X, then Y, then Enter).
For user-level configuration (without sudo), use:
mkdir -p ~/.config/google-chrome/policies/managed/
nano ~/.config/google-chrome/policies/managed/chrome_policies.json
Note: User-level policies may be overridden by system-level managed policies set by administrators.
Step 4: Verify Policy Application
Restart Chrome and verify the policy took effect:
# Launch Chrome with verbose logging
google-chrome --enable-logging --v=1 2>&1 | grep -i "policy\|ondevice\|gemini"
Check the policy status in Chrome's built-in tools:
- Navigate to
chrome://policyin the address bar - Search for
OnDeviceModelExecutionEnabled - Verify the status shows
falseor "Policy set"
Step 5: Persistent Monitoring
Set up a monitoring script to catch re-downloads immediately:
#!/bin/bash
# Save as ~/bin/monitor_chrome_models.sh
while true; do
if [ -f ~/.config/google-chrome/Default/OptGuideOnDeviceModel/weights.bin ]; then
SIZE=$(du -h ~/.config/google-chrome/Default/OptGuideOnDeviceModel/weights.bin | cut -f1)
echo "[$(date)] WARNING: Gemini Nano model detected ($SIZE)"
# Optional: auto-remove
rm -rf ~/.config/google-chrome/Default/OptGuideOnDeviceModel/
fi
sleep 3600 # Check every hour
done
Make it executable and run in background:
chmod +x ~/bin/monitor_chrome_models.sh
~/bin/monitor_chrome_models.sh &
Alternative: Switch to Chromium
If you prefer an additional safeguard, Chromium (the open-source base) is less likely to implement Google's proprietary AI integrations:
# Ubuntu/Debian
sudo apt install chromium-browser
# Fedora
sudo dnf install chromium
Apply the same policy file approach to Chromium's config directory.
Comparison: Chrome vs. Chromium Storage Impact
| Factor | Chrome (with Gemini Nano) | Chromium (without default AI) | |--------|---------------------------|-------------------------------| | Initial Install | ~200 MB | ~160 MB | | After AI Download | ~4.2 GB | ~160 MB | | Policy Support | Full | Full | | Update Frequency | Monthly | As-needed | | Resource Overhead | Significant | Minimal |
Why This Matters for Developers
On resource-constrained systems—whether running in containers, VMs, or embedded Linux environments—a silent 4 GB download significantly impacts:
- Disk space utilization in containers where storage is limited
- Bandwidth consumption in metered or air-gapped environments
- Privacy concerns for developers in regulated industries
- System predictability when model files trigger unexpected re-downloads
This is especially problematic in CI/CD pipelines where Chrome runs in headless mode. The model installation consumes resources without providing any utility for automated testing or development workflows.
Troubleshooting
Problem: weights.bin returns after policy application
Ensure Chrome is fully closed before applying policies, and verify policy JSON syntax is valid:
python3 -m json.tool ~/.config/google-chrome/policies/managed/chrome_policies.json
Problem: Policy not showing in chrome://policy
Chrome requires a restart after policy file creation. Also check file permissions:
ls -la ~/.config/google-chrome/policies/managed/
# Should be readable by your user
Problem: Multiple Chrome profiles each download the model
Remove from all profiles:
find ~/.config/google-chrome -name OptGuideOnDeviceModel -exec rm -rf {} +
Key Takeaways
- Check immediately if Chrome has already installed Gemini Nano using the verification command above
- Apply policy configuration at the system or user level to prevent automatic re-downloads
- Monitor continuously if managing multiple machines or CI/CD environments
- Document your configuration so the policy persists across browser updates
Developers should retain control over what gets installed on their systems. Using policy files brings that control back.
Recommended Tools
- DigitalOceanSimplicity in the cloud
- SupabaseThe open source Firebase alternative