> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://platform.bctrl.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://platform.bctrl.ai/_mcp/server.

# Activate page

> Make one browser page active for subsequent work.

Make a page the active page for browser Tools and Agent actions. A Runtime can
have several pages, but only one page is active at a time.

## Activate a page

```ts
const page = await bctrl.tools.call("browser.pages.activate", {
  pageId,
}, { runtimeId: runtime.id });

console.log(page.id, page.active);
```

The Runtime must be active. The page must already exist in that Runtime.

## Request parameters

| Parameter | Type     | Required | Description          |
| --------- | -------- | -------- | -------------------- |
| `pageId`  | `PageId` | Yes      | Page to make active. |

## Response

| Field    | Type      | Always present | Description                       |
| -------- | --------- | -------------- | --------------------------------- |
| `id`     | `PageId`  | Yes            | Identifier of the activated page. |
| `url`    | `string`  | Yes            | Current page URL.                 |
| `title`  | `string`  | Yes            | Current page title.               |
| `active` | `boolean` | Yes            | `true` for the activated page.    |

## Run asynchronously

```ts
const call = await bctrl.tools.start("browser.pages.activate", {
  pageId,
}, { runtimeId: runtime.id });

const page = await bctrl.toolCalls.result(call.id, {
  waitSeconds: 30,
});
```

## Next

* [List pages](/sdk/tools/browser/browser-pages-list) — find page IDs
* [Get page](/sdk/tools/browser/browser-pages-get) — inspect a page
* [Stagehand act](/sdk/tools/stagehand/stagehand-act) — act on the active page