Supported providers
Hansard imports history from the coding agents, or harnesses, on your machine. It can also import from several cloud services, from ChatGPT, Claude.ai, and Gemini account exports, and through the preview browser extension. Each guide lists its source IDs, explains what Hansard imports, and describes what the product does not record.
For memory capture, agent tools, launches, and account routing, see the provider and feature support matrix. For products Hansard does not import yet, see Planned support. For company and product boundaries, browser routes, and verification gaps, see the complete import inventory.
Current providers
Section titled “Current providers”Hansard reads 101 sources from 40 companies and projects. Pass a source ID to hansard import --source, or choose it under Source in Filter & sort. A product recognized in another product’s history has a filter ID only. Import its parent source to bring it in.
Partial means Hansard imports the product but some of its history or metadata is still missing. The import coverage inventory lists each gap.
| Company | Product | Source ID | How Hansard reads it | Guide |
|---|---|---|---|---|
| OpenAI | ChatGPT Work Local (partial) | chatgpt-work-local (filter only) |
Recognized in Codex history | Codex |
| OpenAI | ChatGPT Work Cloud (partial) | chatgpt-work-cloud (filter only) |
Recognized in ChatGPT history | Browser conversation capture |
| OpenAI | Dots (partial) | chatgpt-dots (filter only) |
Recognized in ChatGPT history | Browser conversation capture |
| OpenAI | Codex Desktop | codex-desktop |
Local history, kept current | Codex |
| OpenAI | Codex SDK jobs | codex-sdk |
Local history, kept current | Codex |
| OpenAI | Codex cloud | codex-cloud |
Cloud import, browser extension | Codex |
| OpenAI | Codex CLI | codex-cli |
Local history, kept current | Codex |
| OpenAI | ChatGPT | chatgpt |
Export file, browser extension | ChatGPT, Claude.ai, and Gemini exports |
| Anthropic | Claude Science (partial) | claude-science |
Local history, kept current | Claude Science |
| Anthropic | Claude Cowork | claude-cowork |
Local history, kept current | Claude |
| Anthropic | Claude Cowork cloud (partial) | claude-cowork-cloud |
Cloud import, desktop app cache, browser extension | Claude |
| Anthropic | Claude Code Desktop | claude-code-desktop |
Local history, kept current | Claude |
| Anthropic | Claude SDK jobs | claude-sdk |
Local history, kept current | Claude |
| Anthropic | Claude Code cloud | claude-cloud |
Cloud import, browser extension | Claude |
| Anthropic | Claude Code CLI | claude |
Local history, kept current | Claude |
| Anthropic | Claude.ai | claude-web |
Export file, browser extension | ChatGPT, Claude.ai, and Gemini exports |
| Anthropic | Claude Design (partial) | claude-design |
Cloud import, browser extension, export file | Import coverage |
| Antigravity 2.0 | antigravity |
Local history, kept current | Antigravity | |
| Antigravity CLI | antigravity-cli |
Local history, kept current | Antigravity | |
| Antigravity IDE | antigravity-ide |
Local history, kept current | Antigravity | |
| Gemini CLI (retired) | gemini-cli |
Local history, kept current | Gemini CLI | |
| Jules | jules |
Cloud import | Jules | |
| Gemini | gemini-web |
Export file, browser extension | ChatGPT, Claude.ai, and Gemini exports | |
| Gemini Notebook / NotebookLM (partial) | notebooklm |
Export file, browser extension | Gemini Notebook / NotebookLM | |
| DeepSeek | DeepSeek Harness | deepseek-harness |
Local history, kept current | DeepSeek Harness |
| DeepSeek | DeepSeek chat (partial) | deepseek-chat |
Browser extension | Import coverage |
| Cognition | Devin Desktop | devin-desktop |
Local history, kept current | Devin |
| Cognition | Devin CLI | devin-cli |
Local history, kept current | Devin |
| Cognition | Devin cloud | devin-cloud |
Cloud import, browser extension, desktop app cache | Devin |
| Cognition | Windsurf (retired) | windsurf |
Local history, kept current | Windsurf |
| GitHub | GitHub Copilot CLI | copilot-cli |
Local history, kept current | GitHub Copilot |
| GitHub | GitHub Copilot coding agent | copilot-agent-cloud |
Cloud import | GitHub Copilot |
| GitHub | GitHub Copilot in VS Code | copilot-ide |
Local history, kept current | GitHub Copilot |
| Factory | Factory Droid | factory |
Local history, kept current | Factory Droid |
| Factory | Factory cloud sessions | factory-cloud |
Cloud import | Factory Droid |
| xAI | Grok Build | grok-build |
Local history, kept current | Grok Build |
| xAI | Grok Bot (partial) | grok-bot |
Local history, kept current | Grok Bot |
| xAI | Grok Bot cloud history (partial) | grok-bot-cloud |
Desktop app cache, cloud import | Grok Bot |
| xAI | Cursor CLI | cursor-cli |
Local history, kept current | Cursor |
| xAI | Cursor cloud agents | cursor-cloud |
Cloud import | Cursor |
| xAI | Cursor 3 | cursor-3 (filter only) |
Recognized in Cursor history | Cursor |
| xAI | Cursor 2 | cursor-2 (filter only) |
Recognized in Cursor history | Cursor |
| xAI | Cursor 1 | cursor-1 (filter only) |
Recognized in Cursor history | Cursor |
| xAI | Cursor | cursor |
Local history, kept current | Cursor |
| xAI | Grok chat (partial) | grok-chat |
Browser extension | Import coverage |
| Quora | Poe (partial) | poe |
Browser extension | Import coverage |
| Meta | Muse (Personal Agent) (partial) | muse-agent |
Export file, browser extension | Import coverage |
| Meta | Muse Code | muse-code |
Local history, kept current | Muse Code |
| Meta | Meta AI (partial) | meta-ai |
Browser extension | Import coverage |
| Alibaba | Qwen Code (retired) | qwen-code |
Local history, kept current | Qwen Code |
| Alibaba | Qwen Chat (partial) | qwen-chat |
Browser extension, export | Import coverage |
| Moonshot | Kimi Code | kimi-code |
Local history, kept current | Kimi |
| Moonshot | Kimi CLI | kimi-cli |
Local history, kept current | Kimi |
| Moonshot | Kimi chat (partial) | kimi-chat |
Browser extension | Import coverage |
| Mistral | Mistral Vibe (partial) | vibe |
Local history, kept current | Mistral Vibe |
| Mistral | Mistral chat (partial) | mistral-chat |
Browser extension | Import coverage |
| Xiaomi | MiMo Code | mimo-code |
Local history, kept current | MiMo Code |
| Tencent | CodeBuddy | codebuddy |
Local history, kept current | CodeBuddy |
| Prime Intellect | Prime Agent | prime-agent |
Local history, kept current | Prime Agent |
| Charm | Crush | crush |
Local history, kept current | Crush |
| Agentic AI Foundation | Goose | goose |
Local history, kept current | Goose |
| Amp | Amp local history | amp |
Local history, kept current | Amp |
| Amp | Amp exports | amp-export |
Export file | Amp |
| Amp | Amp Cloud | amp-cloud |
Cloud import | Amp |
| Zed Industries | Zed | zed |
Local history, kept current | Zed |
| MiniMax | MiniMax Code local history | minimax-code |
Local history, kept current | MiniMax Code |
| MiniMax | MiniMax Code cloud | minimax-code-cloud |
Cloud import | MiniMax Code |
| ByteDance | TRAE | trae |
Local history, kept current | TRAE |
| Qoder | Qoder local history | qoder |
Local history, kept current | Qoder |
| Qoder | Qoder Cloud Agents | qoder-cloud |
Cloud import | Qoder |
| Augment | Augment local history | augment |
Local history, kept current | Augment |
| Augment | Augment Cosmos cloud | augment-cloud |
Cloud import | Augment |
| Amazon | Kiro local history | kiro |
Local history, kept current | Kiro |
| Amazon | Kiro session exports | kiro-export |
Export file | Kiro |
| Warp | Warp local history | warp |
Local history, kept current | Warp |
| Warp | Warp cloud | warp-cloud |
Cloud import | Warp |
| JetBrains | Junie | junie |
Local history, kept current | Junie |
| OpenHands | OpenHands | openhands |
Local history, kept current | OpenHands |
| OpenHands | OpenHands Cloud | openhands-cloud |
Cloud import | OpenHands |
| OpenClaw Foundation | OpenClaw | openclaw |
Local history, kept current | OpenClaw |
| Nous Research | Hermes | hermes |
Local history, kept current | Hermes |
| Kilo Code | Kilo Code | kilo-code |
Local history, kept current | Kilo Code |
| Kilo Code | Kilo Code legacy tasks | kilo-code-legacy |
Local history, kept current | Kilo Code |
| Kilo Code | Kilo Code Cloud | kilo-code-cloud |
Cloud import | Kilo Code |
| Roo Code | Roo Code IDE | roo-code |
Local history, kept current | Roo Code |
| Roo Code | Roo Code CLI | roo-code-cli |
Local history, kept current | Roo Code |
| Posit | Posit Assistant | posit-assistant |
Local history, kept current | Posit Assistant |
| gptme | gptme | gptme |
Local history, kept current | gptme |
| Instinct | Instinct (partial) | instinct |
Local history, kept current | Instinct |
| Roomote | Roomote database | roomote-db |
Database copy | Roomote |
| Roomote | Roomote cloud | roomote-cloud |
Cloud import | Roomote |
| Continue | Continue | continue |
Local history, kept current | Continue |
| Perplexity | Perplexity (partial) | perplexity |
Browser extension | Browser conversation capture |
| Perplexity | Perplexity Computer (partial) | perplexity-computer |
Browser extension | Browser conversation capture |
| Z.ai | Z.ai chat (partial) | zai-chat |
Browser extension | Import coverage |
| Other | iFlow (retired) | iflow |
Local history, kept current | iFlow |
| Other | pi | pi |
Local history, kept current | pi |
| Other | Cline | cline |
Local history, kept current | Cline |
| Other | Cline CLI | cline-cli |
Local history, kept current | Cline |
| Other | OpenCode | opencode |
Local history, kept current | OpenCode |
| Other | Aider | aider |
Local history, kept current | Aider |
Retired harnesses
Section titled “Retired harnesses”These tools are discontinued or replaced: Gemini CLI, Windsurf, Qwen Code, and iFlow. Hansard still imports the history they left on your machine, but does not set up agent integrations for them.
For current Google agents, Hansard integrates with Antigravity.
ChatGPT, Claude.ai, and Gemini account downloads have their own workflow. See ChatGPT, Claude.ai, and Gemini exports.
Gemini Notebook (formerly NotebookLM) uses the separate notebooklm source.
Import its Takeout export from the CLI or with Import export… in
Settings → Imports. See NotebookLM Takeout for coverage
limits. Gemini Apps exports do not include it.
Qwen Chat single-chat JSON downloads import from the CLI with
hansard import qwen-chat <chat-export.json> --username <account-label>. See
Qwen Chat.
Import setup in the app
Section titled “Import setup in the app”Open Settings → Imports to choose which local harnesses Hansard keeps current. Under Agents, set Selection:
- Automatic follows every supported harness installed on this computer. This is the default.
- Custom lets you turn individual harnesses on or off.
The same page sets the Look-back window, turns Pause search updates and Save screenshots and PDFs on or off, opens Import export… for ChatGPT, Claude.ai, Gemini, and Gemini Notebook / NotebookLM downloads, and opens Incomplete runs. Under Agents, Instinct number turns on the Instinct conversation. Import older history reads each agent’s saved history again, as far back as you choose, and Cloud agents turns on cloud histories.
After an import, open Sessions, select Filter & sort, set Source to the harness you imported, and set Time to cover the import window. Select a conversation to check its messages and details.
Maintenance on the same page refreshes archive data, re-reads conversations that older importers archived, rebuilds the search index, restores deleted Claude Code files, recovers Antigravity, Windsurf, and Cursor history, and runs diagnostics. See Maintenance.
Import from the CLI
Section titled “Import from the CLI”hansard import --source cursor --since 30dhansard import --sources codex-cli,claude,cursor --since allhansard import --source all --since all--since accepts 30d, 12h, 60m, an ISO date, or all. Without
--since, an import covers the last 30 days. --source all imports your saved
local sources only; it never contacts a cloud service or reads an account
export.
To see what an import would add and how much disk space it needs, without writing anything:
hansard import --source all --since all --dry-runAn import stops when the archive’s disk does not have enough free space. When
the space check shows a warning, the CLI asks you to confirm unless you pass
--yes.
To see why a supported source skipped a session, add --explain-skips:
hansard import --source cursor --since all --explain-skipshansard import --source cursor --since all --explain-skips --jsonTo run a long import in the background and follow its progress:
hansard import --sources codex-cli,claude,cursor --since all --backgroundhansard import statushansard import followImport cloud sources and exports
Section titled “Import cloud sources and exports”--source all never runs a cloud source or an account export. Cloud agents
import when you turn them on in Settings → Imports → Cloud agents or when
you type their own command.
| Source | Command |
|---|---|
| Claude Code cloud and Remote Control | hansard import claude-cloud --since all |
| Claude Cowork cloud | hansard import claude-cowork-cloud --since all |
| Codex cloud tasks | hansard import codex-cloud --since all |
| Cursor cloud agents | hansard import cursor-cloud --since all |
| Devin cloud | hansard import devin-cloud --since all |
| Factory cloud sessions | hansard import factory-cloud --since all |
| Grok Bot cloud history | hansard import --sources grok-bot-cloud --since all |
| GitHub Copilot coding agent | hansard import copilot-agent-cloud --since all |
| Jules | hansard import jules --since all |
| Amp | hansard import amp-cloud --since all |
| Augment cloud agents | hansard import augment-cloud --since all |
| OpenHands Cloud | hansard import openhands-cloud --since all |
| Warp cloud agents | hansard import warp-cloud --since all |
| Kilo Code Cloud | hansard import kilo-code-cloud --since all |
| Qoder cloud agents | hansard import qoder-cloud --since all |
| ChatGPT, Claude.ai, and Gemini exports | See ChatGPT, Claude.ai, and Gemini exports. |
| Qwen Chat single-chat JSON | hansard import qwen-chat <chat-export.json> --username <account-label> |
| Downloaded Windsurf trajectories | See Windsurf. |
Each cloud command only reads from the service, using your API key or existing
sign-in, and covers the last 30 days unless you pass --since. The harness
guide for each service lists the key or sign-in it needs.
Cloud agents in the app
Section titled “Cloud agents in the app”Settings → Imports → Cloud agents lists every cloud source in the table above. Sources that can import now come first; the rest open from the disclosure below them.
- Claude Code cloud, Claude Cowork cloud, Codex cloud, the GitHub Copilot coding agent, Amp, and Augment cloud agents use the sign-in of their own CLI on this computer. Claude Cowork cloud uses the Claude Code sign-in.
- Grok Bot cloud history uses the active desktop app sign-in and starts off. Native cloud access remains unverified. See Grok Bot.
- The other sources need an API key. Select Add key… to paste one, or
keep the key in your environment or
config.json. A key saved here stays in a private file on this computer and reaches the importer as its usual environment variable.
Turning a source on imports its full history, then the watcher checks it again
every six hours, or every minute for Cursor cloud agents. The switches are saved as imports.cloudSources. Sources that
need a file, a session ID, or a deployment address, such as amp-export,
kiro-export, minimax-code-cloud, and the Roomote sources, stay CLI imports.
Keep local history current
Section titled “Keep local history current”The watcher imports new local sessions as they appear. To check or change which sources it scans:
hansard config sources listhansard config sources edithansard watcher statusThe watcher picks up a changed source list within 30 seconds.
hansard config sources enable, disable, and set switch source selection
to Custom. To go back to Automatic, run hansard config sources reset.
What Hansard does not fill in
Section titled “What Hansard does not fill in”Hansard never fills a missing field with a guess. Each harness guide says whether that harness records complete messages, tool arguments, token usage, models, timestamps, attachments, and linked subagents. Fields a harness does not record stay empty, and sessions without token usage have no cost.
The archive keeps a copy of each original file, subject to your privacy and retention settings, so a later Hansard update can read more from it.
Conversation names
Section titled “Conversation names”A name set in a harness titles the conversation over the harness’s own generated title, and no import or rebuild replaces it, wherever the harness records who set it:
- Claude Code (
/rename,claude -n, and its agent names) and a rename or an agent’s title in the Claude desktop app, for Claude Code and Cowork. - Codex thread names from a rename event.
- GitHub Copilot CLI, Factory Droid, Grok Build, DeepSeek Harness, DeepSeek chat, and Windsurf.
- Qwen Code, Kimi Code, Mistral Vibe, CodeBuddy, and MiMo Code.
- pi, Prime Agent, Goose, Zed, Hermes, OpenClaw, Junie, Qoder CLI, Roomote, and the names Warp gives orchestrated child agents.
Some harnesses keep a rename in the same field as their generated title but write that title only once, while a conversation is untitled. For these, Hansard records the first title it reads, and a later, different title counts as a rename: the Codex CLI and SDK, Cursor CLI, Copilot in VS Code, Augment, Devin CLI, OpenCode, Kilo Code, Crush, Cline CLI, Continue, Posit Assistant, gptme, OpenHands, and Perplexity. A rename made before Hansard first read the conversation counts as the harness’s title.
Other harnesses rewrite their own titles as a conversation goes on, or nothing shows that they do not, so their titles stay as the harness recorded them: the Cursor app, the Codex app, ChatGPT, Claude.ai, Antigravity, Devin Desktop, Kiro, Amp, Kimi CLI, MiniMax Code, and the cloud agents among them. Gemini CLI, Cline, Roo Code, iFlow, Aider, Instinct, and the Copilot coding agent have no conversation name.
A name given in Hansard outranks every harness name.
Refresh after a Hansard update
Section titled “Refresh after a Hansard update”When hansard doctor --deep reports conversations imported by an older parser
version, reimport that source from the harness’s original files:
hansard import --source cursor --since allhansard index rebuildTo rescan only the sources whose conversations came from an older parser, run
hansard rebuild --stale-parsers.
hansard rebuild without options refreshes views, titles, and tool statistics
from files already in the archive. It does not reread the harness’s files, so
it cannot add details that were never imported.