Set who controls a browser window (Beta)
Beta: give the window to a person (“user”) or back to the attached sandbox (“agent”). It takes effect at once and does not wait for anyone. While a person has control, the attached sandbox’s commands that read or act on the page fail with a “human has control” error, and it receives no page content. The window’s current controller is in the browser’s attachments.
Authorizations
Body
Controller is "user" to give the window to a person, or "agent" to give it back to the attached sandbox.
agent, user Response
OK
APICDPURL is the same Chrome DevTools endpoint through the LangSmith API, for clients outside any sandbox. It takes any API credential: headers as for any API call (X-Api-Key, or Authorization: Bearer with an OAuth access token, plus X-Tenant-Id where needed), or, for clients that take only a URL, api_key, token and tenant_id query parameters.
CDPURL is the Chrome DevTools endpoint the attached sandbox connects to, for example with Playwright's connect_over_cdp. It works only from inside that sandbox.
Clients are the sandboxes currently connected to this window, with "api" for each client connected through api_cdp_url. An unrestricted window's connections are not listed.
Controller is "agent" while the attached sandbox drives the window and "user" while a person has taken it over.
agent, user LocalhostAlias is the sandbox's localhost as the browser sees it: open http://<localhost_alias>: in a window to reach a server listening on that port in the sandbox, whether bound to localhost or to all interfaces (any port but 80 and 443). While this is the only sandbox sharing its localhost, http://localhost: works too. Pages on other sites can navigate to a plain-HTTP server there but cannot fetch from it. Set only for windows attached with share_localhost.
Reason is why the agent asked a person to take over, when it did.
Sandbox is the attached sandbox; empty for a window a person opened.
Unrestricted windows give their sandbox the whole browser over CDP, with nothing filtered: every window and tab, every site's cookies, and commands that close or crash the browser. Taking over such a window does not pause its sandbox, and the LSBrowserControl domain is not available.
ViewURL and ActURL open the window on the sandbox service domain with no LangSmith login, for an agent to send to a person: ViewURL to watch it, ActURL also to use it while its controller is "user". Anyone holding a link can open the window until LinksExpireAt. Each response mints new ones; they are returned only to those who may use the browser.
Width and Height are the window's page size in CSS pixels, when it was given one; a window without one keeps Chrome's default of 1280x800.

