# Warp

> Import Warp desktop, Agent CLI, legacy AI blocks, Oz runs, and local instructions.

Hansard groups Warp conversations under Warp. Models used through Warp retain
their own model and company identity in Stats.

## Source IDs

| Source       | Use it for                                            |
| ------------ | ----------------------------------------------------- |
| `warp`       | Local desktop, Agent CLI, and older AI-block history. |
| `warp-cloud` | Explicit Oz run imports through the Warp API.         |

## How the import works

Warp keeps local agent conversations in SQLite. Hansard takes a consistent
snapshot and decodes each conversation's task records into prompts, replies,
reasoning, tools, edits, and recorded usage. Desktop and Agent CLI databases
are scanned separately, while synchronized conversations share one archive
identity. A conversation that later gains a cloud identity keeps its existing
archive entry. Older AI-block databases supply their retained prompts, replies,
code blocks, and command results; responses already removed by Warp remain
unavailable.

The explicit cloud import reads Oz run listings and normalized conversations.
It follows every listing page and connects delegated runs and nested steps.
Those normalized actions are curated by Warp, so they can contain less detail
than local task records. The most recent conversation activity determines which
local or cloud copy is retained. Internal subagent charges are counted once;
separate orchestrated runs retain their independent usage. History-only raw
snapshots omit unrelated terminal and credential tables, while retaining the
agent task bytes needed to inspect the source records.

## Import and keep current

**Conversation history**

```sh
hansard import --source warp --since all
hansard config sources enable warp
hansard import warp-cloud --since all
```

Unreadable directories and databases are reported as import errors while
accessible stores continue importing. A successful import from one store
does not establish coverage of a protected store.

Local discovery checks Warp's platform data roots, secure macOS group
containers, the separate `tui/warp.sqlite` CLI database, and locally available
remote-server identity stores. `HANSARD_WARP_ROOTS` accepts a path-separated
list of data roots for copied or custom stores.

Cloud imports require `WARP_API_KEY`. `WARP_TEAM_UID` selects a team, and
`HANSARD_WARP_API_URL` can select an alternative HTTPS origin. Use
`hansard import warp-cloud --session <run-id>` for one run. Cloud import is
excluded from automatic local imports. Turn on **Warp cloud agents** in
**Settings → Imports → Cloud agents** to have the watcher refresh it every six
hours.

**Memories and instructions**

```sh
hansard memory backup
```

Backups include `~/.agents/AGENTS.md`, project `WARP.md` and `AGENTS.md`, and
cached Warp Drive global rules. Skill folders are not memories and are not
backed up. Project paths come from imported conversations. Cached cloud rules are read-only and use
the newest available revision. Hosted Agent Memory has no public read API.

## Review the import in the app

1. When the import finishes, open **Conversations** and select **Filter & sort**.
2. Set **Source** to **Warp** 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.

Review tools, numbered edit diffs, and linked agents. Check the Warp provider
card and recorded models in Stats, then inspect instruction snapshots in
Memories. Conversations with a server identity offer `warp --resume`.

## What Hansard preserves

- Prompts, replies, reasoning, context references, skills, and retained images.
- Tool arguments, results, errors, shell exit codes, and supported file patches.
- Per-request models, measured input/output/cache tokens, and recorded costs.
- Internal subagents, independent orchestrated runs, and known fork boundaries.
- Local task bytes, older AI blocks, and cloud API records with runtime
  credential configuration removed.

Native token directions remain unknown when only cumulative totals exist.
Custom endpoint aliases remain unattributed. Cloud dollar costs use Warp's
current credit conversion and are marked approximate. Credits, compute, and
platform charges stay separate from inference dollars.

## Known limitations

- Released CLI help/version checks and an existing legacy desktop import have
  been verified. Modern authenticated desktop, CLI, and Oz creation/resume
  trials remain unverified; their formats have synthetic regression coverage.
- Deleted conversations and pruned AI-block responses cannot be recovered
  from the current provider store. Keep backups of original databases.
- Legacy AI blocks can lack models and measured usage; missing values remain
  unavailable. Modern unknown protobuf fields are counted and preserved raw.
- Local forks require their source conversation or archived inheritance
  evidence. The normalized cloud API does not expose a fork boundary.
- Cloud steps do not expose separate usage. Their aggregate stays on the
  parent unless previously measured local child charges can be matched.
- Third-party Oz harnesses may return HTTP 422 for normalized history. Import
  those runtimes through their own supported transcript sources.
- Cloud binary outputs, opaque computer-use/document payloads, and detached
  artifact references can lack replayable content. Hansard does not download
  arbitrary artifact URLs or read current files as historical attachments.
- Hosted memories, runtime credentials, ordinary terminal history, binaries,
  and unrelated caches are not additional conversation or memory sources.

## Refresh an existing archive

```sh
hansard import --source warp --since all
hansard import warp-cloud --since all
hansard memory backup
```

Keep original stores available for parser refreshes. A cloud API response that
cannot match previously measured subagent charges leaves the local
conversation intact and reports the conflict.

Official references: [Warp documentation](https://docs.warp.dev/),
[open client source](https://github.com/warpdotdev/warp), and
[wire interface](https://github.com/warpdotdev/warp-proto-apis).
