Unregisters one or more content scripts.

Note: This method is available in Manifest V3 or higher in Chrome and Firefox 101. In Firefox 102+, this method is also available in Manifest V2.

To use this API you must have the "scripting" permission and permission for the page's URL, either explicitly as a host permission or using the activeTab permission.

This is an asynchronous function that returns a Promise.


await browser.scripting.unregisterContentScripts(
  scripts         // object


scripts Optional

scripting.ContentScriptFilter. A filter to identify the dynamic content scripts to unregistered. If not specified, all dynamic content scripts are unregistered.

Return value

A Promise that fulfills with no arguments when all the scripts are unregistered. If any error occurs, the promise is rejected.


This example unregisters a registered content script with ID a-script:

try {
  await browser.scripting.unregisterContentScripts({
    ids: ["a-script"],
} catch (err) {
  console.error(`failed to unregister content scripts: ${err}`);

Browser compatibility

BCD tables only load in the browser

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