Skip to main content
Many modern web applications open new tabs when users click certain buttons or links. Without proper multitab support, automation scripts break when expected content appears in a new tab rather than the current one. Stagehand’s multitab capabilities ensure your automations work seamlessly across multitab workflows.

The Stagehand Page

Stagehand automatically adapts to multitab workflows. The active page (accessed via context.activePage()) always points to the most recently opened or active tab, ensuring your automations continue working even when new tabs are created. This means you can continue using familiar patterns:
const page = stagehand.context.pages()[0];
await page.goto("https://example.com");
await stagehand.act("click the button that opens a new tab");
// page now automatically points to the new tab
await stagehand.extract("get data from new tab");
Important: Stagehand Agent will always operate on the active page. If you need an agent to work across specific tabs, you’ll need to manage page switching manually.

Manual Page Management

For more control or multitab workflows, you can manage multiple tabs explicitly:
// Create a second page
await stagehand.context.newPage();
const pages = stagehand.context.pages();

const githubPage = pages[0];
const pythonPage = pages[1];

// Navigate each page to different repositories
await githubPage.goto("https://github.com/browserbase/stagehand");
await pythonPage.goto("https://github.com/browserbase/stagehand-python");

// Extract data from both pages simultaneously
const [stagehandStars, stagehandPythonStars] = await Promise.all([
  stagehand.extract("extract the repository stars", { page: githubPage }),
  stagehand.extract("extract the repository stars", { page: pythonPage })
]);

console.log(`Stagehand stars: ${stagehandStars}`);
console.log(`Stagehand-Python stars: ${stagehandPythonStars}`);

Next Steps