box.browser opens and lists them. Every page operation, from navigation to screenshots to AI actions, runs on a specific Tab handle.
Open a tab
tab.create opens a tab, navigates it to a URL, and waits for the requested lifecycle state. The first call also boots Chromium if it is not running yet.
waitUntil: when navigation counts as done. One of"load"(default),"domcontentloaded", or"networkidle".timeout: navigation timeout in milliseconds. Defaults to30000. Pass0to disable it.
Navigate
goto navigates the tab and returns the resulting page’s content (title, URL, text, and links):
tab.create, goto has no waitUntil or timeout options. It waits for the page to load with a fixed 60 second deadline.
List and re-attach
Tab handles are addressed by their Chrome DevTools Protocol target id, which stays stable across navigations. You can store a tab id and re-attach to the same tab later, even from a different process:A handle’s
url and title fields are the last known values from
tab.create or listTabs. They are not updated live. Use
tab.content() to read the current
state of the page.