> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browspark.krishm.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# browser_tabs

> List, open, close, or activate tabs across all windows.

List, open, close, or activate tabs across all windows. Select a listed tabId to target a shared tab. Without tabId, tools use the agent's own usable tab or the only usable tab; multiple shared tabs require an explicit choice. Open a new tab only when the task needs a separate page. Never launch a separate browser just to get a tab. Dev-mode tabs are always usable.

## Parameters

<ParamField body="action" type="enum" required default="list">
  One of: `list`, `new`, `close`, `activate`.
</ParamField>

<ParamField body="tabId" type="integer">
  Target tab id from browser\_tabs, which lists tabs across all windows. Defaults to the agent's most recently opened usable tab, or the only usable tab. Otherwise select a listed tabId.
</ParamField>

<ParamField body="url" type="string">
  URL for new
</ParamField>

<ParamField body="mode" type="enum">
  Where to open a new tab; default dev if running, else extension One of: `extension`, `dev`.
</ParamField>

<ParamField body="context" type="string">
  Developer context for new
</ParamField>

<ParamField body="onlyUsable" type="boolean">
  Default true. false lists every tab including unshared ones.
</ParamField>

## Example

```json List usable tabs theme={null}
{
  "action": "list",
  "onlyUsable": true
}
```

```json Open a page in the user's window theme={null}
{
  "action": "new",
  "url": "https://example.com"
}
```
