Browser lifecycle
Start, pause, resume and branch your work with predictable behavior.
Asynchronous operations
Create, pause, resume, fork and delete return 202 with an operation ID. Poll the operation until it succeeds or fails. --wait provides this behavior in the Go CLI; timeout does not imply the operation failed.
| Action | CLI | Behavior |
|---|---|---|
| create | cloudbrowser create --name work --wait | Reserve a slot, create Chrome, wait for readiness. |
| pause | cloudbrowser pause br_123 --wait | Stop compute, revoke runtime-bound connections, preserve profile. |
| resume | cloudbrowser resume br_123 --wait | Check allowance and concurrency, start Chrome; get a fresh CDP grant or reopen an existing share. |
| fork | cloudbrowser fork br_123 --name copy --wait | Pause the source first; fork into a new paused browser by default. |
| delete | cloudbrowser delete br_123 --yes | Revoke access, delete browser; terminal operation. |
Safe parallel work
Starting and resuming browsers reserve capacity atomically. A paused fork does not consume running capacity. An idempotency key prevents duplicate create/fork operations on retries.
Fork consistency
The local implementation requires the source to be paused. Explicit pause closes Chrome gracefully before snapshotting its filesystem, allowing buffered profile writes to finish. Paused fork has been verified with synthetic persistent Cookies and localStorage. Fork does not promise a copy of live JavaScript memory. Never attach one profile directory to two concurrent Chrome processes.