Type String
Mandatory No
Example
"incognito": "spanning"
"incognito": "split"
"incognito": "not_allowed"

Use the incognito key to control how the extension works with private browsing windows.

This is a string which may take any of the following values:

  • "spanning" (the default): the extension will see events from private and non-private windows and tabs. Windows and tabs will get an incognito property in the Window or Tab that represents them. This property indicates whether or not the object is private:

    browser.windows.getLastFocused().then((windowInfo) => {
      console.log(`Window is private: ${windowInfo.incognito}`);
    });
  • "split": the extension will be split between private and non-private windows. There are effectively two copies of the extension running: one sees only non-private windows, the other sees only private windows. Each copy has isolated access to Web APIs (so, for example, localStorage is not shared). However, the WebExtension API storage.local is shared.
  • "not_allowed": private tabs and windows are invisible to the extension.

Example

"incognito": "spanning"
"incognito": "split"
"incognito": "not_allowed"

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
Basic supportChrome Full support YesEdge No support NoFirefox Full support 48Opera Full support YesFirefox Android Full support 48
splitChrome Full support YesEdge Full support 17Firefox No support NoOpera Full support YesFirefox Android No support No
not_allowedChrome Full support YesEdge Full support 17Firefox No support NoOpera Full support YesFirefox Android No support No

Legend

Full support  
Full support
No support  
No support

Document Tags and Contributors

Contributors to this page: wbamberg, hellosct1, andrewtruongmoz, Brettz9
Last updated by: wbamberg,