# Amp

> Import Amp local thread history, JSON exports, app conversations, and hosted orb threads.

Amp's earlier CLI and extension releases saved threads locally. Current clients
use server-held threads, including the macOS and iOS apps and hosted orbs.
Hansard supports the historical files and explicit full JSON exports.

## Source IDs

| Source       | Use it for                                                      |
| ------------ | --------------------------------------------------------------- |
| `amp`        | Historical local CLI and extension thread JSON.                 |
| `amp-export` | Full JSON files exported by Amp's CLI or web app.               |
| `amp-cloud`  | Threads exported through the signed-in Amp CLI, including orbs. |

## How the import works

Historical threads live in `~/.local/share/amp/threads/*.json`, including on
macOS. Amp honors `XDG_DATA_HOME`; `HANSARD_AMP_ROOTS` accepts a path-separated
list of Amp data directories. Hansard reads each complete thread and its
matching `~/.amp/file-changes/<thread-id>/` backups. The local watcher follows
these files. Prompt history, settings, credentials, OAuth files, device identity,
and diagnostic logs are outside this conversation source.

Current Amp clients keep their threads on Amp's service. The cloud importer
runs the documented `amp threads list --json` and `amp threads export` commands
with closed stdin, timeouts, output limits, and paginated listings that include
archived threads. It uses the CLI's existing sign-in. Set `HANSARD_AMP_CLI` if the
executable is outside `PATH`. The importer does not create threads, send prompts,
change sharing, or use Amp's internal-only raw export. Local files, manual
exports, and cloud exports share the same archived thread identity.

The web app's **Export** menu offers full JSON to the thread's creator. Save
that export and use `amp-export` when the CLI is unavailable. Markdown exports
omit structured edit arguments and are not accepted by this importer. All
exports retain recorded repository identity, while their filesystem paths stay
recorded context rather than being treated as directories on this computer.

## Import and keep current

**Local history**

```sh
hansard import --source amp --since all
```

Enable local history in **Settings → Imports**, or run:

```sh
hansard config sources enable amp
```

**Current threads and orbs**

Sign in with `amp login`, then run:

```sh
hansard import amp-cloud --since all
```

The listing accepts up to 2,000 threads. Use `--session <T-id>` for one thread.
Cloud import is not part of the local watcher's scan. Turn on **Amp** in
**Settings → Imports → Cloud agents** to refresh it every six hours, or run the
command again.

For a downloaded full JSON export, run:

```sh
hansard import amp-export ./amp-exports --since all
```

The path can identify one full JSON export or a directory of exports.

## Review the import in the app

1. When the import finishes, open **Conversations** and select **Filter & sort**.
2. Set **Source** to **Amp** and set **Time** to the window you imported. Use **Folder** to narrow the list when you use this harness in several projects.
3. Select a conversation to check its messages, tool calls, files, commits, model, and token usage.

To keep archiving new sessions from a local harness, open **Settings → Imports**. **Automatic** follows every supported harness installed on this computer. **Custom** lets you turn individual harnesses on or off. Cloud sources and account exports never run from here; each needs its own import command. If a conversation you expect is missing after you reset the filters, run the import command on this page again with `--explain-skips` where the source supports it.

Open a thread and check its prompts, tool results, and edit diff. In **Stats**,
select Amp under Harness and inspect the recorded models and token coverage.
The resume action copies `amp threads continue` with the native thread ID.

## What Hansard preserves

- Conversation text, recorded thinking, images, tool arguments and results,
  errors, compaction summaries, file references, and discovered guidance.
- Recorded models, directional tokens, cache usage, agent mode, platform
  metadata, repository identity, and available message timestamps.
- Historical parent and child threads, with child usage counted once when both
  threads are imported. Machine corrections and tool-result messages do not
  become human prompts.
- Numbered diffs from recorded edit results or local file-change backups.
- Exact local thread and backup bytes, or the exact JSON emitted by the Amp CLI.
- Global and project guidance files through `hansard memory backup`.

## Known limitations

The historical local store is not a current-client transcript cache. Use
`amp-cloud` or `amp-export` for current CLI, app, and orb conversations.
Some messages lack timestamps; their stored order is preserved without
inventing elapsed time. Older usage ledgers omit cache counts for requests
whose message usage is no longer available. Recorded credits remain metadata;
Hansard estimates API-equivalent spend from tokens and model pricing.

Amp's public full export can withhold internal subagent messages and compaction
records available only through its internal raw export. Those records cannot be
reconstructed. Separate historical child files are imported when present.
Unknown content blocks are reported in session metadata and retained in raw
history. Memory backup captures guidance files, not skills. Cloud-only global
instructions require local files before memory backup can capture them. Reimport a parent thread after importing its child separately
to update their combined usage totals.

## Refresh an existing archive

Re-run the matching import after continuing a thread:

```sh
hansard import --source amp --since all
hansard import amp-cloud --since all
```

Repeated unchanged imports are skipped. Resumed threads update their existing
archive identity. No other provider needs a reimport.
