SDK Overview
BCTRL gives automation agents managed browser runtimes they can control from your code. The SDK handles spaces, runtime lifecycle, connection leases, hosted invocations, storage, and run observability.
The browser itself is still controlled by the tools you already use.
Use runtime APIs to launch, connect, invoke, move files, and stop. Use run APIs to inspect events, commands, artifacts, live view, and recordings.
Browser runtimes have a strict controller lock. Use either a CDP connection from your own process or a hosted invocation from BCTRL, but not both at the same time on the same runtime.
Canonical browser flow
Core resources
Connections vs invocations
Use connections when your own process controls the browser through CDP.
Use invocations when BCTRL should run hosted AI work inside the runtime.
Both target the same live runtime. If one controller is active, the other returns runtime.controller_busy until the connection is revoked, expires, or the invocation reaches a terminal state.

