Hides one or more tabs.

Hidden tabs are no longer visible in the browser's tabstrip. Hidden tabs are not automatically discarded: the code running in them continues to run. You can explicitly discard tabs whenever you hide them: although this is not appropriate in all situations, it will help to reduce the resources used by the browser.

This is an asynchronous function that returns a Promise.

Not all tabs are eligible for being hidden:

  • Tabs that are pinned cannot be hidden.
  • Tabs that are sharing the screen, microphone or camera cannot be hidden.
  • The current active tab cannot be hidden.
  • Tabs that are in the process of being closed cannot be hidden.

The first time an extension hides a tab, the browser will tell the user that the tab is being hidden, show them how they can access the hidden tab, and give them the option of disabling the extension instead.

To use this API you must have the "tabHide" permission.

Syntax

var hiding = browser.tabs.hide(
  tabIds          // integer or integer array
)

Parameters

tabIds
integer or array of integer. The IDs of the tab or tabs to hide.
If any of these tabs are not eligible for being hidden, they will not be hidden, but the call will still succeed and eligible tabs will still be hidden. For example, if you pass [1, 3], and 1 identifies the active tab, then only 3 will be hidden.
However, if any of the tab IDs are invalid, the call will fail and no tabs will be hidden.

Return value

A Promise that will be fulfilled with an array containing the IDs of the tabs that were hidden. If any error occurs, the promise will be rejected with an error message.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
Basic support
ExperimentalNon-standard
Chrome No support NoEdge No support NoFirefox Full support 61
Full support 61
No support 59 — 61
Disabled
Disabled From version 59 until version 61 (exclusive): this feature is behind the extensions.webextensions.tabhide.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera No support NoFirefox Android No support No

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
User must explicitly enable this feature.
User must explicitly enable this feature.

Examples

Hide a single tab:

function onHidden() {
  console.log(`Hidden`);
}

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

browser.tabs.hide(2).then(onHidden, onError);

Hide multiple tabs:

function onHidden() {
  console.log(`Hidden`);
}

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

browser.tabs.hide([15, 14, 1]).then(onHidden, onError);

Document Tags and Contributors

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