Harnesses and source IDs
Start with the harness that created the conversation. Its guide lists the source IDs to import, explains how provider records become a Hansard conversation, and describes what repeated imports or recovery can add. Each guide also identifies the provider-specific gaps that remain visible after import.
Choose a harness
Section titled “Choose a harness”| Harness family | Source IDs | Guide |
|---|---|---|
| Aider | aider |
Aider |
| Antigravity | antigravity-cli, antigravity, antigravity-ide |
Antigravity |
| Claude | claude, claude-code-desktop, claude-cowork, claude-sdk, claude-cloud |
Claude |
| Cline | cline, cline-cli |
Cline |
| CodeBuddy | codebuddy |
CodeBuddy |
| Codex | codex-cli, codex-desktop, codex-sdk, codex-cloud |
Codex |
| Cursor | cursor, cursor-cloud |
Cursor |
| Devin | devin-cli, devin-desktop, devin-cloud |
Devin |
| Factory Droid | factory, factory-cloud |
Factory Droid |
| Gemini CLI | gemini-cli |
Gemini CLI |
| GitHub Copilot | copilot-cli, copilot-ide, copilot-agent-cloud |
GitHub Copilot |
| Grok Build | grok-build |
Grok Build |
| iFlow | iflow |
iFlow |
| Jules | jules |
Jules |
| Kimi | kimi-code, kimi-cli |
Kimi |
| MiMo Code | mimo-code |
MiMo Code |
| Mistral Vibe | vibe |
Mistral Vibe |
| OpenCode | opencode |
OpenCode |
| pi | pi |
pi |
| Prime Agent | prime-agent |
Prime Agent |
| Qwen Code | qwen-code |
Qwen Code |
| Windsurf | windsurf |
Windsurf |
ChatGPT and Claude.ai account downloads use the web-export workflow, not a local harness source ID.
Import setup in the app
Section titled “Import setup in the app”Open Settings → Indexing & Imports to control going-forward local capture. Automatic follows every locally detected harness; Custom exposes Sources scanned so only selected local sources run. The same page controls the watcher rolling window, search-index pause state, referenced-artifact capture, and the link to incomplete-run diagnostics.
After an import, return to Conversations. Open Filter & sort, set Source to the harness that was imported, set Time to the backfill window, and select a result to inspect its normalized transcript and provenance. Settings does not initiate a complete historical backfill or an explicit cloud/account-export read; those remain deliberate terminal commands because their scope or network boundary requires review.
Run an import
Section titled “Run an import”hansard import --source cursor --since 30dhansard import --sources codex-cli,claude,cursor --since allhansard import --source all --since all--since accepts windows such as 30d, 12h, and 60m, an ISO date, or
all. Preview a backfill before writing archive files:
hansard import --source all --since all --dry-runUse --explain-skips when a supported importer needs to show why a candidate
did not become a conversation:
hansard import --source cursor --since all --explain-skipshansard import --source cursor --since all --explain-skips --jsonLocal and explicit sources
Section titled “Local and explicit sources”Most local source IDs can participate in --source all and the background
watcher. These network or account-export sources always require their dedicated
command:
| Explicit source | Command |
|---|---|
| Claude Code cloud and Remote Control | hansard import claude-cloud --since all |
| Devin cloud | hansard import devin-cloud --since all |
| Jules | hansard import jules --since all |
| GitHub Copilot coding agent | hansard import copilot-agent-cloud --since all |
| Cursor cloud agents | hansard import cursor-cloud --since all |
| Factory cloud sessions | hansard import factory-cloud --since all |
| Codex cloud tasks | hansard import codex-cloud --since all |
| ChatGPT or Claude.ai exports | See Web exports. |
| Downloaded Windsurf trajectories | See Windsurf. |
Keep local histories current
Section titled “Keep local histories current”Review the current watcher list and add only the local sources that should be scanned automatically:
hansard config sources listhansard config sources edithansard watcher restarthansard watcher statusThe background watcher imports new local activity and refreshes derived indexes. It does not turn explicit cloud or export imports into background network jobs.
Understand coverage
Section titled “Understand coverage”Hansard never fills a missing provider field with a plausible guess. A harness guide calls out whether its source records complete messages, tool arguments, usage, models, timestamps, attachments, and linked agents. Missing values stay Not recorded, unpriced, unresolved, or metadata-only as appropriate.
Raw source material remains available for a later parser improvement, subject to the configured privacy and retention policy. Normalized archive metadata reflects the importer version that produced it.
Refresh after an importer change
Section titled “Refresh after an importer change”When hansard doctor --deep reports parser-version drift, reimport the affected
source from its original provider history:
hansard import --source cursor --since allhansard index rebuildhansard rebuild refreshes derived views from files already in the archive. It
does not reread a provider store and cannot recover fields that were never
imported.