Gets the current window, passing its details into a callback.

Note: If an error occurred (for example, because the window could not be found) then runtime.lastError will be set, and you should check for it in the callback.

  getInfo,               // optional object
  function(window) {...} // function

This API is also available as in a version that returns a promise.


boolean. If true, the windows.Window object will have a tabs property that contains a list of tabs.Tab objects representing the tabs in the window. The Tab objects only contain the url, title and favIconUrl properties if the extension's manifest file includes the "tabs" permission.
An array of windows.WindowType objects. If set, the windows.Window returned will be filtered based on its type. If unset the default filter is set to ['normal', 'panel', 'popup'], with 'panel' window types limited to the extension's own windows.
function. The function is passed the following arguments:
A windows.Window object representing the current window.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes Yes 45.0 No 33


When the user clicks a browser action's icon, this example gets the current window and logs the URLs of the tabs it contains. Note that you'll need the "tabs" permission to access tab URLs.

function logTabs(windowInfo) {
  if (chrome.runtime.lastError) {
  } else {
    for (tabInfo of windowInfo.tabs) {

chrome.browserAction.onClicked.addListener((tab) => {{populate: true}, logTabs);


This API is based on Chromium's API. This documentation is derived from windows.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

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