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

# ovr snapshots

> List a build's snapshots and count them by status.

Authenticates with a [personal access token](/cli/authentication) — a project API key is rejected.

## `ovr snapshots counts`

```sh theme={null}
ovr snapshots counts <buildId>
```

| Flag | Description |
| - | - |
| `--server-url <url>` | OVR server URL (defaults to `ovr.config`'s `serverUrl`) |
| `-c, --config <path>` | Path to `ovr.config` file |
| `--json` | Print the counts as JSON instead of a table |

Counts the build's snapshots by status, so you can see the shape of a build before
listing anything:

```
STATUS        COUNT
unchanged     41
needs_review  3
error         1
TOTAL         45
```

Only the statuses the build actually has are printed. `--json` returns every status,
including the ones at zero.

## `ovr snapshots list`

```sh theme={null}
ovr snapshots list <buildId> --status needs_review
```

| Flag | Description |
| - | - |
| `--server-url <url>` | OVR server URL (defaults to `ovr.config`'s `serverUrl`) |
| `--status <status...>` | Filter to snapshots with these statuses |
| `--browser <name...>` | Filter to snapshots captured in these browsers |
| `--viewport <name...>` | Filter to snapshots captured at these viewports |
| `--flag <flag...>` | Filter to snapshots with these flags |
| `--search <text>` | Filter to snapshots matching this text |
| `--limit <count>` | Snapshots per page, 1–100 (default `24`) |
| `--cursor <cursor>` | Fetch the page following this cursor |
| `--all` | Fetch every page instead of just the first |
| `-c, --config <path>` | Path to `ovr.config` file |
| `--json` | Print results as JSON instead of a table |

Prints one row per snapshot: snapshot ID, status, story, browser, viewport, the
percentage of pixels that differ from the baseline, and the snapshot's flags.

```
SNAPSHOT                              STATUS        STORY                        BROWSER   VIEWPORT           DIFF%  FLAGS
01a092d6-b0aa-71bf-9312-dd8ef48a22fb  needs_review  Components/Button / Primary  chromium  desktop 1280x800   1.23   flaky
```

`DIFF%` is `-` when the snapshot was never diffed — a first snapshot with no baseline,
or one that errored — and `0.00` when it was diffed and nothing differed. A viewport
captured at the story's full page height rather than a fixed crop prints its height as
`full`.

`--status` accepts `unchanged`, `auto_approved`, `approved`, `needs_review`, `rejected`,
`error`, `canceled`, `skipped`, `queued`, and `processing`; anything else is rejected
before the request is sent. `--flag` accepts `flaky` for snapshots of
[flaky stories](/flaky-snapshots) and `warning` for snapshots whose story threw an
uncaught error while rendering, and is validated the same way. When filters match
nothing, the applied filters are printed alongside `No snapshots found.` so a mistyped
browser or viewport is visible.

### Pagination

Pagination works the same way as [`ovr builds list`](/cli/builds): a page at a time,
with the next page's cursor printed when more snapshots match, `--cursor` to resume,
and `--all` to fetch every page at once.

## `ovr snapshots get`

```sh theme={null}
ovr snapshots get <snapshotId>
```

| Flag | Description |
| - | - |
| `--server-url <url>` | OVR server URL (defaults to `ovr.config`'s `serverUrl`) |
| `-c, --config <path>` | Path to `ovr.config` file |
| `--json` | Print the snapshot as JSON instead of formatted text |
| `--download <dir>` | Save the snapshot image to this directory as `snapshot.png` |

Prints the snapshot's ID, status, story, browser, viewport, image path and flags, plus
its error message when one was captured. Each flag is explained under a `Flags:` section.

When the snapshot recorded any console or error logs during capture, they're printed
underneath as a `Logs:` section, one line per entry:

```
Snapshot: 01a092d6-b0aa-71bf-9312-dd8ef48a22fb
Status:   error
Story:    Components/Button / Primary
Browser:  chromium
Viewport: desktop 1280x800
Image:
Flags:    warning
Error:    story threw during render

Flags:
  warning: the page threw an uncaught error

Logs:
  [error] TypeError: Cannot read properties of undefined (2026-09-12T10:43:15Z)
```

## `ovr snapshots history`

```sh theme={null}
ovr snapshots history <snapshotId>
```

| Flag | Description |
| - | - |
| `--server-url <url>` | OVR server URL (defaults to `ovr.config`'s `serverUrl`) |
| `--branch <name>` | Branch to show (defaults to the project's main branch) |
| `--limit <count>` | Number of recent builds, 1–100 (default `30`) |
| `-c, --config <path>` | Path to `ovr.config` file |
| `--json` | Print the history as JSON instead of a table |

Shows the given snapshot's screenshot across the most recent builds on a branch, newest
first. Each distinct screenshot gets a letter in the `IMAGE` column.

```
SNAPSHOT                              BUILD                                 COMMIT   CREATED               STATUS         DIFF%  IMAGE
01a1266c-7f4e-732a-93ea-9bbc9e97f3df  01a1266c-55b5-7729-8e1f-1b7c625b364b  278382f  2026-10-10T15:20:11Z  auto_approved  1.48   C
01a11221-6061-71af-8a8a-56aad8d9a689  01a11221-4abe-7008-a90f-bf2c09b84f07  04b9a07  2026-10-08T09:02:45Z  auto_approved  2.07   B
01a111e5-ac09-730b-9714-616d7397e056  01a111e5-8050-772d-9b46-19088f018444  04b9a07  2026-10-08T08:13:30Z  auto_approved  2.12   A

Screenshot changed 2 times across the last 3 builds on main (3 distinct images).
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.