Returns true if the browser action is enabled.

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

This is an asynchronous function that returns a Promise.


let gettingIsEnabled = browser.action.isEnabled(
  details // object



object. An object optionally containing the tabId or windowId to check.

tabId Optional

integer. ID of a tab to check.

windowId Optional

integer. ID of a window to check.

  • If windowId and tabId are both supplied, the function fails.
  • If windowId and tabId are both omitted, the global enabled/disabled status is returned.

Return value

A Promise that will be fulfilled with true if the extension's browser action is enabled, and false otherwise.


Check the global state:

browser.action.isEnabled({}).then((result) => {

Check the state of the currently active tab:

async function enabledInActiveTab() {
  let tabs = await browser.tabs.query({
    currentWindow: true,
    active: true,
  let enabled = await browser.action.isEnabled({
    tabId: tabs[0].id,

Browser compatibility

BCD tables only load in the browser