The bookmarks.removeTree() method recursively removes a bookmark folder and all of its contents.

Warning: If your extension attempts to remove a bookmark tree from the bookmarks tree root node, the call will raise an error with the message: "The bookmark root cannot be modified" and the bookmark won't be removed.

This is an asynchronous function that returns a Promise.


let removingTree = browser.bookmarks.removeTree(
  id                // string



A string specifying the ID of the folder node to be deleted along with its descendants.

Return value

A Promise that will be fulfilled with no arguments when the tree has been removed.

If the node corresponding to the id parameter can't be found, the promise is rejected with an error message.


This example locates a bookmark folder named "MDN" and deletes it along with all of its contents.

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

function onRejected(error) {
  console.log(`An error: ${error}`);

function removeMDN(searchResults) {
  if (searchResults.length) {
    let removing = browser.bookmarks.removeTree(searchResults[0].id);
    removing.then(onRemoved, onRejected);

let searchingBookmarks ={ title: "MDN" });
searchingBookmarks.then(removeMDN, onRejected);

Browser compatibility

BCD tables only load in the browser

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