Skip to main content
On macOS, ADE captures screenshots and short recordings with the system’s built-in tools — no extra install. The first capture may ask for Screen Recording permission in System Settings → Privacy & Security; grant it to ADE, then quit and relaunch. Both you and agents capture proof the same way, through the ade proof CLI. Captures are intentional — you run a command when a moment deserves evidence. Each capture is scoped to the chat or lane it runs in: agents launched inside ADE pick up the right owner automatically from the session they’re running in, so most captures need no owner flags at all.

Capture, then it’s filed

1

Capture or attach

Run ade proof capture to screenshot the current state, or ade proof attach <path> to promote a file you already produced.
2

ADE files it

The file is copied under .ade/artifacts/computer-use/ and a row is written to the project database with its owner link.
3

Review in ADE

The proof appears in the chat drawer and at lane / PR review, where you can accept it, request more, or dismiss it.

Command reference

Take a screenshot now and file it as proof for the current session.
ade proof capture --caption "logged in as admin"
ade proof capture --caption "order #1234 submitted, confirmation visible"
FlagUse
--caption "<text>"Short label, prominent in the drawer grid. Write it like a teammate is reading it.
--owner-kind chat|laneOverride the inferred owner. Rarely needed.
--owner-id <id>Pair with --owner-kind to target a specific chat or lane.
The owner is inferred from the session you’re in. If no owner can be resolved and no flags are passed, the command exits non-zero — an un-owned proof has no home in the UI.
Promote an image, video, or browser-trace file you produced out-of-band — a headless-browser screenshot, a Playwright trace rendered as PNG, anything on disk.
ade proof attach /tmp/playwright-run/checkout-success.png \
  --caption "checkout flow completes on Firefox"
The proof kind is inferred from the file extension: images become screenshots, .mov/.mp4/.webm become recordings, .zip/.har become browser traces. The original file is left in place; ADE copies it into .ade/artifacts/computer-use/.
Print the proof set for the current session as JSON. Primarily for agents to see what they’ve already captured.
ade proof list --text
ade proof list --owner-kind lane --owner-id <id> --limit 20
Report whether the runtime can capture (screencapture availability, OS support).
ade proof status --text
ade proof record --seconds <n> records a short video proof where supported.
Ingest externally produced artifacts directly through the proof broker, with owners set in one call. Owner kinds are chat (alias for chat_session), lane, pr (alias for github_pr), linear_issue, and automation_run.
ade proof ingest --input-json '{
  "backend": { "name": "playwright" },
  "inputs": [
    { "kind": "browser_trace", "title": "checkout flow", "path": "/tmp/trace.zip" },
    { "kind": "console_logs", "title": "checkout console", "text": "..." }
  ],
  "owners": [
    { "kind": "pr", "id": "123" }
  ]
}'
Each input needs real content through path, uri, text, or json. Paths must resolve inside an allowed import root (the project’s .ade/artifacts or .ade/tmp, the OS temp dir, or ~/.agent-browser).
Run ade help proof for the complete, current flag list. The ade proof commands print a JSON summary on success and exit non-zero on failure.
If screenshots come out blank, grant Screen Recording permission to ADE and relaunch — macOS only applies the permission to a fresh launch.

Review proof

The capture, review, and attach lifecycle.

Proof configuration

Storage, retention, and troubleshooting.