Recordings help you inspect a run after the browser has moved on or closed.
Enable recording in the SDK
const agent = web.agent({
model,
browser: {
create: { recording: true },
policy: { allowedDomains: ["sec.gov"] },
},
});
Enable recording from browser commands
BROWSER_ID=$(web browser create --recording --json | jq -r '.id')
web browser recording segments "$BROWSER_ID"
Use recordings for review
Recordings are useful when:
- A run passed but the answer needs evidence.
- A run failed on a remote site but worked locally.
- An operator needs to review a long-running workflow.
- A blocker appeared after several steps.
Download replay evidence
const recording = await browser.recordings.get();
const segments = await browser.recordings.segments({ limit: 10 });
const firstSegment = segments.data[0];
if (firstSegment) {
await browser.recordings.download(firstSegment.id, "./recordings", {
overwrite: true,
});
}
The download helper writes the segment manifest, event list, and frame files to the output directory. Keep those paths attached to the job record if your operators review runs outside the Webcompute Debug UI.
What to store
- Browser ID.
- Recording summary.
- Segment IDs.
- Event IDs or timestamps relevant to the failure.
- Artifact and download IDs referenced during the run.
Do not expose recording files or signed capabilities to users who should not see the browser session.
Keep recordings attached to the job or run record that produced them. They are evidence, not user-facing final answers.