Connect with CDP
Starting a runtime mints a credentialed CDP endpoint scoped to that run. Connect Playwright, Puppeteer, or any CDP client and drive the browser directly. BCTRL records the run in the background.
Get a connect URL
The connectUrl stays live for the lifetime of the run. Each start mints a fresh one.
Playwright
The runtime launches with a default context and page already open. Reuse them instead of creating new ones.
Puppeteer
The controller lock
A runtime allows one controller at a time. While you hold a CDP connection, a hosted invocation on the same runtime fails with runtime.controller_busy. The reverse holds too: an active invocation blocks a new CDP connection.
Next
- Hosted agents - let BCTRL drive instead
- Runtime configuration - stealth, proxy, fingerprint
- Runs - what gets recorded while you drive

