google-chrome-extension

Can you access chrome:// pages from an extension?


When you're writing the manifest.json file, you have to specify matches for your content scripts. The http and https work fine, but if I try to include chrome://*/* or any variant of it, I get an error that I'm attempting to use an invalid scheme for my matches.

Is it not allowed?


Solution

  • By default you cannot run on a chrome:// url page.
    However, there is an option in chrome://flags/#extensions-on-chrome-urls:

    Extensions on chrome:// URLs (Mac, Windows, Linux, Chrome OS, Android)
    Enables running extensions on chrome:// URLs, where extensions explicitly request this permission.

    You still have to specify pages that your extension can run on and wildcards are not accepted - so you have to specify the full URL eg chrome://extensions/

    Until Chrome 139 it also allowed access to chrome-extension:// URLs, now there's a separate flag, see below for more info.

    Chrome 139 and newer