Every run — from the GitHub App, the CLI, or the dashboard composer — produces a recording: a browser video plus, when the run was a test, a verdict. This page covers what's on a recording, how sharing and visibility work, and the public watch page.
The recording page
Open a recording from your dashboard grid to reach its detail page. It shows:
- The verdict banner (test runs only) —
pass,fail, orinconclusive, the test name, and a one-to-three-sentence reason. - The video — plays inline once the run is
ready; while it's still running you see the live agent feed instead. - Metadata — the recorded URL, duration, view count, status, model, visibility, token usage (input/output), and creation time.
- Chapters — when the run produced them, click a timestamp to jump the video to that moment.
- The embed snippet and a Download MP4 button (see Share a recording).
- A Public link → button that opens the watch page, and a Delete button.
Verdicts
When a run is asked to assert something — a PR test, a CLI record with a pass/fail goal, or a composer prompt like "confirm the dashboard loads with no console errors" — screencli returns one of three verdicts:
| Verdict | Meaning |
|---|---|
pass |
Every checked behavior succeeded. |
fail |
A checked behavior failed. |
inconclusive |
The run couldn't reach a verdict — e.g. the preview timed out or was unreachable. |
For a GitHub App PR that runs several tests (your baseline tests plus the PR-derived one), the PR's overall verdict aggregates them: any fail → fail; any inconclusive and no fail → inconclusive; all pass → pass.
Visibility
A recording's visibility controls who can open its video:
- public — anyone with the link can watch. This is the default for CLI and composer recordings, so a share link works immediately. Each view increments the recording's view count.
- unlisted — viewable by anyone with the link, but marked
unlistedin your dashboard so you know it isn't listed publicly. Views are counted the same way. - private — only you and your workspace teammates can watch. The video 404s for everyone else, including the public watch page.
Share a recording
Every ready recording has three share paths:
1. A public watch link
https://screencli.sh/v/<id>
The <id> is the recording's short ID (the first segment of its UUID). The watch page plays the video, shows its title, duration, view count, and chapters, and carries Open Graph + Twitter player tags — so pasting the link into Slack, X, or a PR renders an inline video card, not a bare URL.
2. An embeddable iframe
Copy the snippet from the recording page's Embed box to drop the player into a README, docs page, or blog post:
<iframe src="https://screencli.sh/v/<id>" width="800" height="450" frameborder="0" allowfullscreen></iframe>
3. A downloaded MP4
Click Download MP4 on the recording or watch page to save the composed video (it downloads as <title>.mp4). Use it for a README GIF, a release note, or a social clip — or produce a channel-ready export with the CLI's export --preset.
Delete a recording
Click Delete on the recording page (or the trash icon on its dashboard card) and confirm. This permanently removes the video, its thumbnail, and the record — there's no undo. You can only delete recordings you own.
Notes & limits
- Private videos are workspace-scoped. A
privaterecording is visible to its owner and to anyone who shares a workspace with them — see Team & workspaces. - Verdicts only appear on test runs. A plain demo recording (no assertion) has no verdict — its card shows a
readystatus pill instead. - View counts increment on the public/unlisted video endpoint, so every watch-page load and embed play is counted.