Skip to main content
Status tells you what the browser is doing now. Events and logs tell you what happened over time.

CLI status

web browser status browser_123 --json
web browser pages browser_123 --json
web browser dialogs browser_123 --json

SDK status

const browser = await web.browser.get(result.browserId);
const status = await browser.status();

console.log(status.readiness);
console.log(status.activePage);
console.log(status.blocker);
console.log(status.captcha);

Stream agent progress

Use streaming progress when your product UI needs live updates from a browser-agent run.

Stream browser events

Use browser events when your application owns the browser and needs a timeline.
for await (const event of browser.streamEvents({
  pollIntervalMs: 1000,
  visibility: "product",
})) {
  await publishJobEvent({
    jobId,
    browserId: browser.id,
    type: event.type,
    severity: event.severity,
    timestamp: event.timestamp,
  });
}
Events are useful for status UIs, operator timelines, and replay context. They are not a substitute for final output validation.

What to log

  • Run ID or job ID.
  • Browser ID.
  • Result status.
  • Page titles and URLs.
  • Artifact IDs.
  • Blocker summaries.
  • Validation status.
Do not log raw secrets, signed Debug UI URLs, signed CDP URLs, or large page observations by default. Reference: SDK resources reference, SDK browser reference, and limits.