cookies.remove()

The remove() method of the cookies API deletes a cookie, given its name and URL.

To use this method, an extension must have the "cookies" permission and relevant host permissions. See cookie permissions for more details.

If there is more than one cookie with the same name for a URL, the cookie with the longest path is deleted. For cookies with the same path length, the cookie with the earliest creation time is deleted. If no matching cookie is found, null is returned.

Note: Before Firefox 133, when there was more than one cookie with the same name, Firefox deleted the cookie with the earliest creation time.

This is an asynchronous function that returns a Promise.

Syntax

js
let removing = browser.cookies.remove(
  details               // object
)

Parameters

details

An object containing information to identify the cookie to remove. It contains these properties:

firstPartyDomain Optional

A string representing the first-party domain with which the cookie to remove is associated. This property must be supplied if the browser has first-party isolation enabled. See First-party isolation.

name

A string representing the name of the cookie to remove.

partitionKey Optional

An object representing the storage partition containing the cookie. Include this object to remove a cookie from partitioned storage. This object contains:

topLevelSite Optional

A string representing the first-party URL of the top-level site storage partition containing the cookie.

storeId Optional

A string representing the ID of the cookie store to find the cookie in. If unspecified, the cookie is looked for in the current execution context's cookie store.

url

A string representing the URL associated with the cookie. The API call fails if the extension does not have host permissions for this URL.

Return value

A Promise that is fulfilled with a cookies.Cookie object containing details about the cookie removed. If a cookie matching the details parameter is not found, the promise is fulfilled with null. If the call fails, the promise is rejected with an error message.

Examples

This example tries to remove the cookie named "favorite-color" whose URL matches the URL of the document hosted by the active tab:

js
function onRemoved(cookie) {
  console.log(`Removed: ${cookie}`);
}

function onError(error) {
  console.log(`Error removing cookie: ${error}`);
}

function removeCookie(tabs) {
  let removing = browser.cookies.remove({
    url: tabs[0].url,
    name: "favorite-color",
  });
  removing.then(onRemoved, onError);
}

let getActive = browser.tabs.query({ active: true, currentWindow: true });
getActive.then(removeCookie);

Example extensions

Browser compatibility

BCD tables only load in the browser

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