MDN will be in maintenance mode on Wednesday September 20th, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.



Removes a menu item.

For compatibility with other browsers, Firefox makes this method available via the contextMenus namespace as well as the menus namespace.

This is an asynchronous function that returns a Promise.


var removing = browser.menus.remove(
  menuItemId      // integer or string


integer or string. The ID of the menu item to remove.

Return value

A Promise that will be fulfilled with no arguments if removal was successful, or rejected with an error message if removal failed (for example, because the item could not be found).

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic Support (Yes) (as contextMenus.remove) (Yes) (as contextMenus.remove)


48 (as contextMenus.remove)

No (Yes) (as contextMenus.remove)


This extension adds a menu item labeled "Remove me!". If you click the item, the extension removes it.

function onRemoved() {
  console.log("item removed successfully");

function onError() {
  console.log("error removing item:" + browser.runtime.lastError);

  id: "remove-me",
  title: "Remove me!",
  contexts: ["all"]

browser.menus.onClicked.addListener(function(info, tab) {
  if (info.menuItemId == "remove-me") {
    var removing = browser.menus.remove(info.menuItemId);
    removing.then(onRemoved, onError);

Example extensions


This API is based on Chromium's chrome.contextMenus API. This documentation is derived from context_menus.json in the Chromium code.

Document Tags and Contributors

 Contributors to this page: wbamberg, andrewtruongmoz, Makyen
 Last updated by: wbamberg,