Gets the browser action's title.

Note: This API is available in Manifest V3 or higher.

Just as you can set the title on a per-tab basis using action.setTitle(), so you can retrieve a tab-specific title by passing the tab's ID into this function.

This is an asynchronous function that returns a Promise.


let gettingTitle = browser.action.getTitle(
  details               // object



An object with the following properties:

tabId Optional

integer. Specify the tab to get the title from.

windowId Optional

integer. Specify the window to get the title from.

  • If windowId and tabId are both supplied, the function fails and the promise it returns is rejected.
  • If windowId and tabId are both omitted, the global title is returned.

Return value

A Promise that will be fulfilled with a string containing the browser action's title.


This code switches the title between "this" and "that" each time the user clicks the browser action:

function toggleTitle(title) {
  if (title === "this") {
    browser.action.setTitle({ title: "that" });
  } else {
    browser.action.setTitle({ title: "this" });

browser.action.onClicked.addListener(() => {
  let gettingTitle = browser.action.getTitle({});

Browser compatibility

BCD tables only load in the browser

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