Skip to content

Devin

Devin terminal and desktop sessions provide richer local event stores than the cloud API. Import local sources for complete tools and usage; add the cloud source when cloud-only chats or pull-request attribution are needed.

Source Use it for
devin-cli Devin for Terminal sessions from the local session database.
devin-desktop Devin Desktop ACP event logs.
devin-cloud Explicit, read-only Devin API import.

The terminal importer reads Devin’s local session database and reconstructs a conversation by walking its ordered message nodes and recorded branches. The desktop importer reads the application’s ACP event logs in their original order. Both paths normalize user and assistant turns, tools, modes, usage, and project context when those fields exist, while keeping branch and session boundaries intact.

The explicit cloud importer reads Devin’s API for cloud-only sessions and repository or pull-request context. If a local and cloud record carry the same provider identity, the richer local event trace supplies the conversation and the cloud record can add hosted metadata. Cloud-only chat remains useful and searchable, but the API does not expose its tool trace, model, or token usage; Hansard leaves those fields empty rather than estimating them. Repeat imports refresh the same session snapshots.

Terminal window
hansard import --sources devin-cli,devin-desktop --since all
hansard import devin-cloud --since all
hansard index rebuild

devin-cloud uses DEVIN_API_KEY or devin.apiKey in Hansard config.

After the import finishes, open Conversations and selectFilter & sort. Set Source tothe matching Devin CLI, Desktop, or cloud source, choose the backfill window underTime, and use Folder when the same harness appears in several projects. Select a result to inspect its messages, tool calls and results, files, commits, model and usage fields, and source provenance in one conversation view.

For a local source that should stay current, open Settings → Indexing & Imports. Automatic follows detected local harnesses; Custom lets Sources scannedselect an explicit set. Explicit cloud and account-export sources do not turn into background network jobs here. If the expected result is absent after resetting the conversation filters, return to the terminal import in this guide and add --explain-skips where supported.

  • Devin CLI branches, tools, usage, working directories, linked subagents, selected model, backend, and agent mode.
  • Desktop plans, modes, thinking, tool activity, usage, and workspace metadata from ordered ACP events.
  • Cloud chat, status, repository and pull-request attribution, and API metadata for sessions that do not have a richer desktop copy.
  • Local transcripts take precedence when a cloud session is already mirrored by Devin Desktop.
  • Current desktop logs preserve ordering and session bounds but not exact per-message times. Hansard hides generated ordering timestamps.
  • Devin cloud exposes chat but no tool calls, shell commands, models, or token counts. Cloud-only sessions therefore remain unmodelled and unpriced.
  • Cloud sessions whose origin is the CLI are skipped by default because the local CLI store has the fuller record.
Terminal window
hansard import --sources devin-cli,devin-desktop --since all
hansard index rebuild

Run hansard import devin-cloud --since all separately when cloud records also need to be refreshed.