> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Run history and replay

> Manage previous design system import runs — list them, push a recorded run without regenerating, or re-open a run for edits.

Every successful `experiences import` run is recorded to `~/.config/experiences/runs.json`. Alongside each run, the CLI stores short hashes — called **fingerprints** — of the source files at extraction time and the saved artifact files at save time. Fingerprints are used to detect when a recorded run has drifted from what is on disk. You can list past runs, push a recorded run to Contentful without regenerating, or re-open one for edits.

When `runs.json` has entries, `experiences import` opens on a run picker so you can resume a prior run. The picker is skipped in non-interactive shells and when a routing flag (`--push-from-run`, `--modify`, `--project`, `--auto-accept-scope`) is passed.

![Run picker at wizard start, listing four prior runs with their run IDs, timestamps, project paths, component counts, and push state. The highlighted first row shows a run that has already been pushed; the other three are marked "not pushed". A "Start a new run" option appears below the list.](/developers/docs/_fern-img/25469a14ea8f187766c39983524be91320bd8a5b0271b4bd393f851ff59b74db.webp)

## List runs

```bash
experiences runs
```

Prints a table of prior runs with ID, creation time, project path, save path, component count, push target, and staleness. Show details for a single run by passing its ID or a filesystem path that matches a recorded save path:

```bash
experiences runs <id-or-path>
```

Additional options:

* `--json` — Emit the `RunRecord` as JSON (array without a target, single object with one).
* `--pushed` / `--not-pushed` — Filter by push state.
* `--project <path>` — Filter by source project path.
* `--limit <n>` — Limit the number of rows.

The `runs` subcommand also has the alias `experiences ls`.

## Push a recorded run

Push a prior run to Contentful without re-generating:

```bash
experiences import --push-from-run <id-or-path>
```

Credentials resolve in this order: command flags → the run's recorded push target → saved `experiences setup` values → (in a TTY) an interactive prompt. Design tokens ride along automatically when they were part of the original run.

## Re-open a run for edits

Re-open the wizard at the final review step with a recorded run pre-populated:

```bash
experiences import --modify <id-or-path> [--overwrite | --save-as-new]
```

* `--overwrite` — save back to the run's recorded path.
* `--save-as-new` — always save to a new path (prompts for one).

The modify entry skips extract and generate, so you can tweak a field or its metadata and push again without a full re-run.

## Stale-run detection

The fingerprints described above are compared on every replay. When you replay a run whose source has changed on disk, the CLI refuses with a **stale** notice. Pass `--force` to bypass the check:

```bash
experiences import --push-from-run <id> --force
```

The `STALE` column in `experiences runs` shows a short summary per run.