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?
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.
The Extensions on chrome:// URLs
flag is ignored by default since Chrome 139 in Google's stable/beta versions of the browser (other vendors may do the same).
You can restore its functionality:
--disable-features=DisableExtensionsOnChromeUrlsSwitch
A new Extensions on chrome-extension:// URLs
flag is now required to allow access to chrome-extension:// URLs.