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.