How do I disable Google Chrome extension autoupdate?
7 Answers
Solutions I've found for this:
1. Disabling a concrete extension update
That's what I wanted!
You can do this by editing the extension's manifest.json file:
On Windows:
C:\Users\<USERNAME>\AppData\Local\Google\Chrome\User Data\Default\Extensions\<EXTENSION-ID>\<VERSION>\manifest.json
(find out the extension's ID by enabling Developer Mode in the extension settings page)On MacOS: Open
/Users/USERNAME/Library/Application Support/Google/Chrome/Default/Extensions/EXTENSION-ID/VERSION/manifest.json
in a text editor.On Ubuntu for Chromium:
${HOME}/.config/chromium/Default/Preferences
In this file, set the "update_url"
property to something invalid like "https://localhost"
for example. For the given url, it makes auto-updating that extension as simply impossible.
Source: https://productforums.google.com/d/msg/chrome/l3zOZeO-5-M/Y7VaR0KCWNIJ
2. Disabling all Google Chrome extension updates
For any OS: Just type
chrome://plugins/
at address bar and turn Google Update plugin off. Source: How to disable Google Chrome auto update?For Windows OS: Set Registry values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"AutoUpdateCheckPeriodMinutes"=dword:00000000
"UpdateDefault"=dword:00000000
-
2I don't see any `"update_url"` property in this file. – Tomer Feb 17 '15 at 17:30
-
2.1 seems not present at chromium btw – Aquarius Power May 10 '15 at 17:56
-
2for Chrome the file is `.config/google-chrome/Default/Preferences` – Aquarius Power May 10 '15 at 18:32
-
2to disable all at once, with chromium stopped I did this: `sed -r 's@(.*update_url.*)(clients2.google.com/service/update2/crx)(.*)@\1127.0.0.1\3@' ~/.config/chromium/Default/Preferences| grep update_url` (the missing `-i` sed option is intentional so you can backup everything and check it all before applying). – Aquarius Power May 10 '15 at 18:35
-
2On MacOS 10.12.1 and Chrome 54.0.2840.98 I found the Preferences file at: HD/Users/$Username/Library/Application Support/Google/Chrome/Default/Preferences – gerbz Dec 04 '16 at 02:35
-
each time I changed `Application Support/Google/Chrome/Default/Preferences` it would be restore back again very soon, it seems edit that file directly does not work. – dalang May 09 '17 at 14:46
-
"2.1" - I don't see an update plugin (only had 4 plugin entries) but it is definitely doing updates. Perhaps this was only introduced after chrome v48? – Skip R Oct 28 '17 at 09:51
-
13Not sure if anyone else noticed... but your **solution 2** is no more: “This site can’t be reached. The web page at `chrome://plugins/` might be temporarily down or it may have moved permanently to a new web address.” Google (and now Mozilla too) are evidently on war against the user. The only remaining logical response is _not using extensions_ and _not using Chrome and Firefox_ until someone invents the web browser again. (One that doesn’t intentionally make users vulnerable to harm and exploits.) – 7vujy0f0hy Feb 05 '19 at 21:02
-
Of all the available solutions, this is the only one that works even today! – Prahlad Yeri May 24 '19 at 09:15
-
you can't change manifest.json directly, cause it has digest file: manifest.fingerprint, instead of change manifest.json file, you can redirect clients2.google.com traffic to another non-exists proxy server using SwitchyOmega extentions – little May 19 '23 at 02:29
If the chrome extension is on Github (which many if not most of them are), you can simply:
(1.) clone the Github repo,
(2.) reset the head to the version that you want, and
(3.) enable Developer Mode at chrome://extensions/
(4.) select the "Load unpacked" option from chrome://extensions/, and then select the folder enclosing the source code for the extension.
I recently used this technique to downgrade my version of Reddit Link Opener, which no longer supports users who have opted out of using that site's redesign. This worked for me on MacOS, but should work on all platforms.
If the extension is loaded as an unpacked extension (in the manner described above), it will NOT auto-update to a newer version.

- 4,805
- 3
- 31
- 46
-
1Didn't work for me with the forked The Great Suspender (that's on GitHub) - chrome still auto-updated it for me. – Gal Grünfeld Feb 17 '21 at 15:30
Disabling update for a specific extension:
This can be achieved with the system policies, (more details here)
For Linux :
- Get the installed extensions list (IDs), this can be found with
ls -l ~/.config/google-chrome/Default/Extensions
orchrome://extensions
- Create the necessary directory if not present
mkdir -p /etc/opt/chrome/policies/managed
(with root) - Create the needed file policies file
touch /etc/opt/chrome/policies/managed/google-chrome.json
- Edit that file with the code bellow
- open the page
chrome://policy/
and reload the policies
{
"ExtensionSettings": {
"ghijklmnopabcdefghijklmnopabcdef": {
"update_url": "https://127.0.0.1/update_url",
"override_update_url": true
},
"YOUR-EXTENSION-ID-LIKE-THE-PREVIOUS-EXAMPLE": {
"update_url": "https://127.0.0.1/update_url",
"override_update_url": true
}
}
}
Note: this can not be applied widely to all extensions in a single rule and also for each newly installed extension the file need to be updated

- 8,448
- 5
- 36
- 55
-
For Windows and macOS users, see https://support.google.com/chrome/a/answer/187202 for policy path and further instructions. – Arnie97 Sep 21 '22 at 07:33
Hi all those solitions for me have one disadvantage is that all extensions have no updates, I needed to stop only for one extension in this case and wanted al the other to keep making updates.
I think I found the solutuion for windows
Go to C:\Users\YOUR_NAME_HERE\AppData\Local\Google\Chrome\User Data\Default\Extensions\YOUR_FOLDER APP HERE\
In that folder app click in properties and select read only an aplly that to all subfolders and files... for now for me solved the problem !!!
Regards xichas

- 29
- 1
-
Good option, but instead I have denied permission to Create and Delete files and folders there. – igor Apr 07 '16 at 13:35
-
I tried this method and and the (eg google cast) extension still deleted itself. – Skip R Oct 28 '17 at 09:54
Just (re)install the extension via Load unpacked.
Let's suppose "Roboform Password Manager" extension version 8.6.5.5 dropped some important functionality, so you want to keep version 8.6.2.2 installed.
- Go to
chrome://extensions/
Enable Developer mode
Get the required version of the plugin:
If Chrome still got the version you need:
- Utilize Pack extension button on the plugin details page.
- Just copy the extension folder, e.g.
C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Extensions\pnlccmojcmeohlpggmfnbbiapkmbliob
. The extension id is visible in the url bar, on the plugin details page, e.g.chrome://extensions/?id=pnlccmojcmeohlpggmfnbbiapkmbliob
.
If the version you need was overwritten already:
- Get appropriate ".crx" from some extensions archive
- Look for ".crx" in "C:\Program Files\..." (applications/installers sometimes bundle original ".crx" versions, unaffected by any updates)
Unzip (e.g. with 7-zip) your ".crx" (or paste the extension folder contents) to a non-temporary folder - you would have to keep those files in place until you uninstall the extension.
Click Load unpacked, select that folder.
If you just drag&drop the ".crx" file, Chrome extension details would show Source
=Chrome Web Store
, and it would get updated as soon as you click Update extensions now. But for an unpacked extension, you get a special "Unpacked extension" overlay icon, Source
=Unpacked extension
and it won't get updated.
Just tested on Chrome 79.0.3945.88 (64-bit), Windows.
Now, Chrome shows "Disable developer mode extensions" popup on each startup. Personally, I just manually dismiss them each time. I do not re-start Chrome too often.

- 1,359
- 19
- 34
-
It didn't work for me, they still auto-update. Tested in Chromium 71.0.3578.98, Ubuntu – Alejandro Garcia Aug 26 '20 at 20:00
-
1@AlejandroGarcia, sorry for the delay. Still works for me in Chrome 89.0.4389.90 though. Was there a "unpacked extension" overlay icon shown in your case, at least? – Igor Apr 17 '21 at 15:12
-
-
1@AlejandroGarcia, is there a chance that you just left the "Developer Mode" at some point? The answers [1](https://stackoverflow.com/a/49949657/1032586) and [2](https://stackoverflow.com/a/26058672/1032586) seem to confirm that unpacked extension should not get auto-updated, normally (only reloaded from the same local folder). They also note the "pinned extension id" case (but if you're using that, you should probably know its effects better than me). Sorry, I'm not sure about further details. – Igor Apr 20 '21 at 20:55
-
Weird.. I did it again and now they don't update anymore, guess your answeer still works! – Alejandro Garcia Jun 20 '21 at 20:14
After updating Google Chrome to v60, no solution found on the Internet has helped me
So i just blocked IP addresses, used for updating, by doing following steps:
- Opened Chrome with blank browser tab
- Waited, until extension autoupdate begins, by looking on to network tab in Resource Monitor
- Wrote out all the IP addresses with high download rate. My IP address list was:
64.233.161.94 64.233.161.102 64.233.163.95 74.125.238.132 108.177.14.138 173.194.73.132 173.194.222.102 216.58.209.110 216.58.209.97 173.194.222.99 173.194.32.227 173.194.113.172 173.194.32.224 195.216.237.77 74.125.232.170 143.215.130.61 74.125.238.147 173.194.122.137 173.194.44.66 173.194.44.67 173.194.44.95 173.194.122.136 74.125.232.183 74.125.232.171
- Created outbound rule for chrome.exe in Windows Firewall and added listed IP addresses to blocklist
After I enabled this rule, chrome was unable to update my extensions.

- 2,256
- 1
- 17
- 14
this is a complementary answer to the accepted one https://stackoverflow.com/a/27657703/1422630 , allowing disable all at once on chromium
this is also only for linux (may be run on windows thru cygwin tho, not tested..)
this script will
- backup the prefs file,
- modify it,
- if didnt succeed will output "FAILED"
- show the differences using meld if installed
#!/bin/bash
set -ue
strPref="$HOME/.config/chromium/Default/Preferences"
cat "$strPref" |egrep "\"update_url[^,]*," -o |sort -u
read -p "existing unique urls above..." -n 1
strBkp="${strPref}.`date +"%Y%m%d%H%M%S"`.bkp"
if cp -v "$strPref" "$strBkp";then
strUpdUrl="clients2.google.com/service/update2/crx" #change this if needed #TODO should match any URL...
sed -i -r "s@(update_url\":\"https{,1}://)(${strUpdUrl})@\1127.0.0.1@g" "$strPref"
if grep "$strUpdUrl" "$strPref";then echo FAILED >&2;exit 1;fi
cmdDiff=colordiff
if which meld;then cmdDiff=meld;fi
#$cmdDiff <(cat "$strPref" |egrep "\"update_url[^,]*," -o) <(cat "$strBkp" |egrep "\"update_url[^,]*," -o)
$cmdDiff <(cat "$strPref" |sed -r 's@","@",\n"@g') <(cat "$strBkp" |sed -r 's@","@",\n"@g')
fi
tested on chromium: Version 63.0.3239.84 (Official Build) Built on Ubuntu , running on Ubuntu 16.04 (64-bit)
obs.: that script also works for google-chrome, just change the preferences file path

- 3,729
- 5
- 32
- 67