The Old Technique
Detecting which Chrome extensions are installed has always been a trivial matter of finding a specific extension ID and trying to load the manifest.json file, which is always located in the same spot:
chrome-extension://abcdefghijklmnopqrstuvwxyz012345/manifest.json
However, in the latest Chrome versions, attempting to load the manifest usually fails and the JavaScript console returns the following error:
Denying load of chrome-extension://abcdefghijklmnopqrstuvwxyz012345/manifest.json. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
![]() |
Load Error |
What happened to the good old detection code that used to work seamlessly? And what is the web_accessible_resources manifest key?