optional_permissions

Type Array
Mandatory No
Example
"optional_permissions": [
  "*://developer.mozilla.org/*",
  "webRequest"
]

Use the optional_permissions key to list permissions that you want to ask for at runtime, after your extension has been installed.

The permissions key lists permissions that your extension needs before it can be installed. In contrast, optional_permissions lists permissions that your extension doesn't need at install time but it may ask for after it has been installed. To ask for a permission, use the permissions API. Asking for a permission may present the user with a dialog requesting them to grant the permission to your extension.

For advice on designing your request for runtime permissions, to maximize the likelihood that users grant them, see Request permissions at runtime.

The key can contain two kinds of permissions: host permissions and API permissions.

Host permissions

These are the same as the host permissions you can specify in the permissions key.

API permissions

You can include any of the following here, but not in all browsers: check the compatibility table for browser-specific details.

  • activeTab
  • background
  • bookmarks
  • browserSettings
  • clipboardRead
  • clipboardWrite
  • contentSettings
  • contextMenus
  • cookies
  • debugger
  • downloads
  • downloads.open
  • find
  • geolocation
  • history
  • idle
  • management
  • notifications
  • pageCapture
  • privacy
  • tabHide
  • tabs
  • topSites
  • webNavigation
  • webRequest
  • webRequestBlocking

Note that this is a subset of the API permissions allowed in permissions.

Of this set, the following permissions are granted silently, without a user prompt: activeTab, cookies, idle, webRequest, webRequestBlocking.

Example

 "optional_permissions": ["*://developer.mozilla.org/*"]

Enable the extension to ask for privileged access to pages under developer.mozilla.org.

  "optional_permissions": ["tabs"]

Enable the extension to ask for access to the privileged pieces of the tabs API.

  "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]

Enable the extension to ask for both of the above permissions.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaSafariFirefox for Android
optional_permissionsChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
activeTabChrome No support NoEdge No support NoFirefox Full support 55Opera No support NoSafari Full support 14Firefox Android Full support 55
backgroundChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari No support NoFirefox Android No support No
bookmarksChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android No support No
browserSettingsChrome No support NoEdge No support NoFirefox Full support 57Opera No support NoSafari No support NoFirefox Android Full support 57
browsingDataChrome No support NoEdge No support NoFirefox Full support 77Opera No support NoSafari No support NoFirefox Android No support No
clipboardReadChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android Full support 55
clipboardWriteChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
contentSettingsChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari No support NoFirefox Android No support No
contextMenusChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari Full support 14Firefox Android No support No
cookiesChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
debuggerChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari No support NoFirefox Android No support No
downloadsChrome No support NoEdge No support NoFirefox Full support 60Opera No support NoSafari No support NoFirefox Android Full support 60
downloads.openChrome No support NoEdge No support NoFirefox Full support 60Opera No support NoSafari No support NoFirefox Android Full support 60
findChrome No support NoEdge No support NoFirefox Full support 57Opera No support NoSafari No support NoFirefox Android No support No
geolocationChrome No support NoEdge No support NoFirefox Full support 55Opera No support NoSafari No support NoFirefox Android Full support 55
historyChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android No support No
idleChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android Full support 55
managementChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari No support NoFirefox Android No support No
notificationsChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android Full support 55
pageCaptureChrome Full support YesEdge Full support 79Firefox No support NoOpera Full support YesSafari No support NoFirefox Android No support No
pkcs11Chrome No support NoEdge No support NoFirefox Full support 77Opera No support NoSafari No support NoFirefox Android No support No
privacyChrome Full support YesEdge Full support 79Firefox Full support 75Opera Full support YesSafari No support NoFirefox Android No support No
proxyChrome No support NoEdge No support NoFirefox Full support 77Opera No support NoSafari No support NoFirefox Android No support No
sessionsChrome No support NoEdge No support NoFirefox Full support 77Opera No support NoSafari No support NoFirefox Android No support No
tabHideChrome No support NoEdge No support NoFirefox Full support 61Opera No support NoSafari No support NoFirefox Android No support No
tabsChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
topSitesChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android Full support 55
webNavigationChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
webRequestChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14Firefox Android Full support 55
webRequestBlockingChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari No support NoFirefox Android Full support 55

Legend

Full support  
Full support
No support  
No support