cd /news/developer-tools/enhance-multitasking-extensions-with… · home › topics › developer-tools › article
[ARTICLE · art-149680] src=developer.chrome.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Enhance multitasking extensions with the new Tabs Split View API

Google released the Split View API for Chrome extensions starting in Chrome 155, letting developers programmatically detect, create, and manage the browser's built-in side-by-side tab layouts. The API, developed with Mozilla and other vendors in the WebExtensions Community Group, is part of the browser.tabs namespace and requires no permissions, adding a splitViewId property to Tab objects plus browser.tabs.createSplit, browser.tabs.unsplit, and a splitWithTabId parameter on browser.tabs.create. Chrome 145 introduced native Split View in February 2026, but extensions previously could not control the layouts and relied on workarounds such as resizing native windows, iframes, or side panels.

read3 min views43 publishedSep 16, 2026
Enhance multitasking extensions with the new Tabs Split View API
Image: Developer (auto-discovered)

Earlier this year in February 2026, Chrome 145 introduced the native Split View which provides users with the ability to view and manage tabs side-by-side within the same window, removing the need to rely on third-party tools to manage separate OS windows. While users can manually add and remove tabs from a split view through browser controls, it was not possible for developers to programmatically control these new tabs layouts in Chrome extensions.

We're excited to announce the new Split View API, available starting in Chrome 155! Developed in close collaboration with Mozilla and other browser vendors in the WebExtensions Community Group, this new API allows extensions to detect, create, and manage built-in split views.

Demo #

How it works #

Previously, extensions building side-by-side experiences relied on brittle workarounds like resizing multiple native windows, embedding pages in <iframe> elements, or using side panels. Now, the new Split View API integrates directly with Chrome's Tabs API to unlock new tabs layout management capabilities.

Manifest permissions

The Split View API is part of the browser.tabs namespace, and they don't require any permissions to use.

Identifying split views

Every Tab object contains a splitViewId property. If the tab is part of a split view, it shares a unique identifier with its paired tab; otherwise, the splitViewId defaults to -1.

// Querying all split views in the current windows
const tabs = await browser.tabs.query({ currentWindow: true });
const splitViews = tabs.map(tab => tab.splitViewId).filter(splitViewId => splitViewId !== -1);

General constraints

In order for two tabs to be able to join a split view, they must meet the following requirements:

  1. Tabs must be (or created) adjacent to each other.
  2. Tabs must not be already in a split view.
  3. Tabs must have the same pinned ,windowId , andgroupId state.

Conversely, when two tabs are unsplit, they will retain the same pinned, windowId, groupId states along with the relative positioning to each other.

Creating split views

There are two methods by which an extension can create a new split view:

  1. Create a new tab that will split with an existing tab using the new splitWithTabId parameter inbrowser.tabs.create .
  2. Pair two existing tabs with the new browser.tabs.createSplit method.

Examples

You can create a new tab using splitWithTabId to split with an existing tab.

await browser.tabs.create({splitWithTabId: existingTab.id});

By default, the new tab will be created to the right of the existing tab.

To create a new tab to the left of the existing tab, set the index as that tab's index:

  await browser.tabs.create({splitWithTabId: existingTab.id, index: existingTab.index});

You can also create a new split view by pairing two existing tabs.

  await browser.tabs.createSplit([existingTab1.id, existingTab2.id]);

Unsplitting split views

To separate a split view into two independent tabs, an extension can use the new browser.tabs.unsplit method.

const splitViewId = browser.tabs.createSplit([tab1.id, tab2.id]);
// Unsplitting the split view into two independent tabs
await browser.tabs.unsplit(splitViewId);

Learn more #

We hope this new capability will supercharge more productive workflows for your extensions. To start building extensions with split view capabilities, check out the Tabs API documentation. If you have any questions or need help with the Split View API, visit the Chromium extensions Google Group.

Happy splitting!

── more in #developer-tools 4 stories · sorted by recency
── more on @google 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/enhance-multitasking…] indexed:0 read:3min 2026-09-16 · —