extension_id=jifpbeccnghkjeaalbbjmodiffmgedin # change this ID
curl -L -o "$extension_id.zip" "https://clients2.google.com/service/update2/crx?response=redirect&os=mac&arch=x86-64&nacl_arch=x86-64&prod=chromecrx&prodchannel=stable&prodversion=44.0.2403.130&x=id%3D$extension_id%26uc"
unzip -d "$extension_id-source" "$extension_id.zip"Thx to crxviewer for the magic download URL.
The Chrome extension source viewer is open source (github repo) and makes this super easy.
- Find your Chrome local profile directory. Open
chrome://version/and find the "Profile Path:` field. Open that folder up. - Open the
Extensions/subfolder - All your extensions are here, with typically readable source.
- On
about:extensions, turn on Developer Mode and you'll see IDs under each entry - Inside the
Extensions/folders, the manifest.json has a readablenamefield

tl;dr
Either set
prodversionto the most recent Chrome release or use the following:Explanation
It turns out Chrome extensions have an optional manifest key
minimum_chrome_version.Apparently while making the switch from Manifest V2 to Manifest V3 extension developers are increasingly making use of it.
The extension I used as example above had
"minimum_chrome_version": "88"added to the manifest in December 2023.Behind the scenes the Google API appears to verify
minimum_chrome_versionby checking the value ofprodversion.So in this case a value less than 88 will result in an empty response body.
but a value >=88 will deliver the extension.
The largest value that works for
prodversionis 2147483647.So apparently Google uses a signed 32-bit integer variable for processing the parameter$2^{31}-1 = 2147483647$ as the maximum value.
prodversionresulting in