scalpel@labs: ~/glossary/move-tabs-between-windows.mdx5 sections

How to Move Tabs Between Windows

Moving tabs between windows takes the tabs you pick and sends them to another open window, or opens a new window to hold them. It is the quick way to split one crowded window into two tidy ones, or to gather scattered tabs together.

extension: Scalpel Manage Tabsupdated: 2026-08-14read_time: 3 min
less move-tabs-between-windows.mdx

Why it matters

A single browser window with eighty tabs is a mess. Scrolling the tab bar to find anything takes patience. But dragging and dropping tabs one at a time to a new window is tedious and easy to get wrong.

Moving tabs in bulk splits the load without the tedium. Tick the ones you want to move (say, all your news research), then move them to a new window in a single click. Your window shrinks from eighty tabs to forty. The news tabs get their own focused space. Both windows become manageable.

This also works the other way. If you have research scattered across three windows, move a batch into one window to gather them together.

How it works

Moving tabs uses chrome.tabs.move() to send tabs from one window to another. You choose a destination: an existing window from a dropdown list, or a brand new window. If you pick an existing window, the tabs land there. If you pick "New window", the extension first creates a new window with chrome.windows.create(), then moves the tabs into it.

The operation is atomic from the user's perspective: you tick tabs, click the move button, choose a destination, and the tabs are gone. Behind the scenes, the extension queues the move and reports how many tabs moved.

Pinned tabs keep their pinned state when they move. They land on the left of the target window's tab strip, among that window's other pinned tabs, so they stay in the "always visible" area.

There is one quirk worth knowing: if you move a single tab that is inside a group to another window, that tab drops out of its group. It still moves to the target window, but it is no longer grouped. If you move the entire group, the tabs stay together, but chrome.tabs.move() alone breaks the association. This is why the merge operation handles groups separately.

What does not matter

Moving a tab does not move your browsing history. The tab opens in the new window with its full back/forward stack intact, so you can still use the back button and see where you have been in that tab.

Moving tabs does not close them. They are still open, still running. You are just changing which window they belong to. This is different from closing tabs; moving is non-destructive.

The order of tabs in the source window does not matter. If you move tabs 5, 12, and 47 out of a 50-tab window, the remaining tabs stay in their relative order. The moved tabs land in the target window in the order you moved them.

Code example

Here is how the extension handles moving tabs to an existing window or a new one:

async function moveTabsToWindow(tabIds, destinationWindow) {
  let targetWindowId;
  
  if (destinationWindow === 'new') {
    // Create a new window
    const newWin = await chrome.windows.create();
    targetWindowId = newWin.id;
  } else {
    // Use the selected window
    targetWindowId = destinationWindow.id;
  }
  
  // Move all tabs to the target window
  await chrome.tabs.move(tabIds, {
    windowId: targetWindowId,
    index: -1 // append to the end
  });
  
  return targetWindowId;
}

// Usage:
await moveTabsToWindow([101, 102, 103], 'new');
// or
await moveTabsToWindow([101, 102, 103], existingWindow);

How Scalpel Manage Tabs shows it

Scalpel Manage Tabs lets you tick the tabs you want to move, then click the move button. A dropdown shows every open window plus a "New window" option. Pick your destination and the tabs move instantly. If you move a grouped tab by itself, the extension warns you that it will drop from its group. For moving whole groups without losing their membership, use the merge function (which moves groups intact) or move the entire group at once rather than individual tabs from it.

Sources