When the user installs or upgrades an add-on, the browser may warn the user about any particularly powerful permissions that the add-on has requested. Not all permissions result in warnings, and this behavior is not standardized across browsers.

Given the text of a manifest.json file, this function returns the permission warnings that would be given for the resulting add-on, as an array of strings.

This API does not require the "management" API permission.

This is an asynchronous function that returns a Promise.


let gettingWarnings =
  manifestString      // string



string. String containing the manifest file. This must be a valid manifest: for example, it must contain all the mandatory manifest keys.

Return value

A Promise that will be fulfilled with an array of strings, each of which contains the text of a permission warning.

Browser compatibility

BCD tables only load in the browser


Log the permission warnings for the given manifest file:

let manifest = {
  "manifest_version": 2,
  "name": "test",
  "version": "1.0",
  "permissions": ["management", "<all_urls>"]

let manifestString = JSON.stringify(manifest);

function gotWarnings(warnings) {

function gotError(error) {
  console.log(`Error: ${error}`);

let gettingWarnings =;
gettingWarnings.then(gotWarnings, gotError);

Note: This API is based on Chromium's API. This documentation is derived from management.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.