Ask to give up the permissions listed in the given permissions.Permissions object.

The Permissions argument may contain either an origins property, which is an array of host permissions, or a permissions property, which is an array of API permissions, or both. Permissions must come from the set of permissions defined in the optional_permissions manifest.json key.

This is an asynchronous function that returns a Promise.


let removing = browser.permissions.remove(
  permissions                // Permissions object



A permissions.Permissions object.

Return value

A Promise that is fulfilled with true if the permissions listed in the permissions argument are now not granted to the extension, or false otherwise.

Browser compatibility

BCD tables only load in the browser


This code adds a click handler that removes a given permission.

const permissionToRemove = {
  permissions: ["history"]

async function remove() {
  const removed = await browser.permissions.remove(permissionToRemove);

document.querySelector("#remove").addEventListener("click", remove);

Example extensions

Note: This API is based on Chromium's chrome.permissions API.