50

How do I disable Google Chrome extension autoupdate?

Sebastian Nielsen
  • 3,835
  • 5
  • 27
  • 43
gerunn
  • 1,089
  • 1
  • 9
  • 11

7 Answers7

48

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"AutoUpdateCheckPeriodMinutes"=dword:00000000
"UpdateDefault"=dword:00000000

Source: Making Google Chrome leave itself alone

Mr-IDE
  • 7,051
  • 1
  • 53
  • 59
gerunn
  • 1,089
  • 1
  • 9
  • 11
  • 2
    I 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
  • 2
    for Chrome the file is `.config/google-chrome/Default/Preferences` – Aquarius Power May 10 '15 at 18:32
  • 2
    to 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
  • 2
    On 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
  • 13
    Not 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
5

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.

James Shapiro
  • 4,805
  • 3
  • 31
  • 46
3

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 or chrome://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

intika
  • 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
2

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

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
2

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.

  1. Go to chrome://extensions/
  2. Enable Developer mode

  3. 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)
  4. 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.

  5. 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.

Igor
  • 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
  • yes, and after it updated, that icon disappeared – Alejandro Garcia Apr 19 '21 at 15:15
  • 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
1

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.

0x384c0
  • 2,256
  • 1
  • 17
  • 14
1

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

Aquarius Power
  • 3,729
  • 5
  • 32
  • 67