> ## Documentation Index
> Fetch the complete documentation index at: https://docs-preview.webcompute.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Status, events, and logs

> Use runtime status, event streams, and concise logs to understand browser-agent progress.

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

## CLI status

```bash theme={null}
web browser status browser_123 --json
web browser pages browser_123 --json
web browser dialogs browser_123 --json
```

## SDK status

```ts theme={null}
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](/agent-workflows/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.

```ts theme={null}
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](/reference/sdk-resources-reference), [SDK browser reference](/reference/sdk-browser-reference), and [limits](/reference/limits).
