Skip to content

Cline

Cline has two unrelated local stores. IDE releases write task folders; current CLI, desktop, JetBrains, and SDK-backed surfaces write session directories under the Cline data root.

Source Use it for
cline VS Code and JetBrains task folders.
cline-cli CLI, desktop, JetBrains, and SDK session manifests and message artifacts.

The cline importer requires each task’s API history. Current UI history is the authoritative visible chronology when present, including when it is empty; the legacy UI file is used only when the current file is absent. API records enrich matched UI records, while unmatched records remain explicitly accounted. With no UI file, the API blocks replay directly with deterministic timestamps.

The shared task-history index is advisory. A valid matching row may supply a title, workspace, model, and usage. A malformed but stable index remains in the raw snapshot with an invalid-auxiliary diagnostic and does not discard valid task-local evidence. Unrelated index rows do not rekey every task.

The cline-cli importer scans version-1 SDK manifests, message artifacts, optional compaction sidecars, and root-bound child artifacts. It preserves string messages and typed text, image, file, thinking, redacted-thinking, tool, result, model, and optional metrics records with exact accounting. Unknown versions and block types fail closed.

These stores have different layouts and identifiers, so Hansard does not guess that records from one store duplicate records in the other. Child and team sessions are archived separately and linked to their parent. The root raw snapshot excludes child bytes; each child snapshot contains only the root manifest and that child’s artifact. A repeat import updates sessions with the same stable source identity and leaves unrelated task folders untouched.

Terminal window
hansard import --sources cline,cline-cli --since all
hansard index rebuild

After the import finishes, open Conversations and selectFilter & sort. Set Source toCline or Cline CLI, 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.

  • Task API history, authoritative UI chronology, optional legacy UI and metadata, and exact advisory-index bytes when present.
  • SDK session bounds, status, exit code, working directory, provider, model, title, tokens, cache usage, and cost.
  • Structured SDK messages, tools, results, attachment descriptors, thinking, usage, structural compaction evidence, and linked subagent or team-task runs.
  • Separate parser identities for the two stores so one format is never guessed from the other.
  • A task present only in the task store cannot gain SDK-only model or token fields.
  • Compaction sidecars receive structural-only validation: their source message count cannot exceed the root count, while recorded prefix hashes and last-message keys are preserved but not recomputed. Their messages are not replayed into the visible transcript.
  • Hansard does not read live Git, checkpoint refs, shared SDK indexes, settings, rules, workflows, or MCP configuration as Cline session evidence.
  • Cline’s own history or recovery UI is the supported way to reopen a task; Hansard does not claim a stable cross-surface resume command.
  • An active child session remains its own linked run and is not folded into the parent’s transcript or token total.
Terminal window
hansard import --sources cline,cline-cli --since all
hansard index rebuild