Skip to content

Browser Control

Tools for managing the Claudezilla browser window and tabs. All tabs live in a shared pool (max 12) across Claude agents, with tab ownership enforced per agent.

Open a URL in the shared Claudezilla browser. Creates a new tab in the shared 12-tab pool. When the limit is reached, returns a POOL_FULL error. Each tab tracks its creator for ownership enforcement.

ParameterTypeDefaultDescription
urlstringabout:blankURL to open in a new tab
timeoutnumber150000Request timeout in ms (5000-300000)
// Open a webpage
const result = await firefox_create_window({ url: "https://example.com" });
// Returns: { windowId, tabId, ownerId, tabCount, maxTabs }
  • Returns POOL_FULL if 12 tabs are already open. Use the mercy system to request space.
  • You own every tab you create. Only you can close or navigate your tabs.

Navigate an existing tab to a new URL. Ownership is enforced when a tabId is provided.

ParameterTypeDefaultDescription
urlstringrequiredThe URL to navigate to
tabIdnumberactive tabTarget tab ID (ownership enforced)
timeoutnumber150000Request timeout in ms (5000-300000)
// Navigate a specific tab
await firefox_navigate({ url: "https://example.com/page2", tabId: 42 });

List all tabs in the Claudezilla pool with URLs, titles, tab IDs, and owner IDs.

ParameterTypeDefaultDescription
timeoutnumber150000Request timeout in ms (5000-300000)
const tabs = await firefox_get_tabs();
// Returns array: [{ tabId, url, title, ownerId }, ...]

Close a specific tab by ID. You can only close tabs you own.

ParameterTypeDefaultDescription
tabIdnumberrequiredTab ID to close (must be your tab)
timeoutnumber150000Request timeout in ms (5000-300000)
await firefox_close_tab({ tabId: 42 });
  • Returns an OWNERSHIP error if you try to close another agent’s tab.
  • Use firefox_get_tabs to check ownership before closing.

Close the entire Claudezilla window and all tabs.

ParameterTypeDefaultDescription
timeoutnumber150000Request timeout in ms (5000-300000)

Resize and/or reposition the browser window.

ParameterTypeDefaultDescription
windowIdnumbercurrent windowWindow ID to resize
widthnumberNew window width in pixels
heightnumberNew window height in pixels
leftnumberWindow X position from left edge
topnumberWindow Y position from top edge
timeoutnumber150000Request timeout in ms (5000-300000)
// Resize to 1280x800 and position at top-left
await firefox_resize_window({ width: 1280, height: 800, left: 0, top: 0 });

Set the browser viewport to a device preset for responsive testing, or specify custom dimensions.

ParameterTypeDefaultDescription
windowIdnumbercurrent windowTarget window ID
devicestringDevice preset (see below)
widthnumberCustom viewport width (use instead of device)
heightnumberCustom viewport height (use instead of device)
timeoutnumber150000Request timeout in ms (5000-300000)

iphone-se, iphone-14, iphone-14-pro-max, pixel-7, galaxy-s23, ipad-mini, ipad-pro-11, ipad-pro-12, laptop, desktop

// Test mobile layout
await firefox_set_viewport({ device: "iphone-14" });
// Custom dimensions
await firefox_set_viewport({ width: 768, height: 1024 });