# Kiro

> Import Kiro CLI, IDE, Crew, native exports, instructions, and memories.

Hansard imports Kiro's local histories and native session exports. Kiro is
grouped under Amazon; the models it uses retain their own maker in Stats.

## Source IDs

| Source        | Use it for                                                          |
| ------------- | ------------------------------------------------------------------- |
| `kiro`        | Unified sessions, CLI V2, classic CLI, legacy IDE, and Crew stores. |
| `kiro-export` | Explicit native session ZIP, export JSON, or unified directory.     |

## How the import works

Current Kiro CLI and IDE releases share a unified session directory containing
metadata, messages, child execution logs, and optional file snapshots. Hansard
reads these files together, keeps original bytes, and turns the conversation
records into messages, tools, and numbered edit diffs. Updated streaming
records replace earlier versions under the same message identity. Resuming a
conversation updates its existing archive, and compaction does not erase the
historical messages retained in the log.

Earlier Kiro engines use different stores: V2 CLI metadata and JSONL files,
classic CLI SQLite rows, and IDE histories with hashed execution sidecars.
Hansard reads those formats separately and prefers a known unified migration.
Crew logs supply turn actors, recorded usage, and native session identities;
companion transcripts supplement tool details. Matching native and Crew
messages count once, while older transcript-only turns remain separate. The
classic database archive includes conversation tables and excludes credentials
and unrelated application state.

## Import and keep current

**Conversation history**

```sh
hansard import --source kiro --since all
hansard config sources enable kiro
hansard import kiro-export /path/to/session.zip
```

`KIRO_HOME` changes the default `~/.kiro` location; `KIROCREW_HOME` selects the
Crew home. The path-separated `HANSARD_KIRO_ROOTS`, `HANSARD_KIRO_DATABASES`,
`HANSARD_KIRO_IDE_ROOTS`, and `HANSARD_KIRO_CREW_ROOTS` variables support copied
or custom stores. ZIP imports require `unzip`; an extracted unified session
directory also works.

**Memories and instructions**

```sh
hansard memory backup
```

Backups cover global and project steering, specs, powers, and agent
instructions. Agent JSON contributes its prompt field without connection
settings. Crew markdown memories and active SQLite memory records are also
captured; database records are read-only snapshots. Skill folders are not
memories and are not backed up. Embeddings, deleted records, authentication
stores, and runtime caches are excluded.

## Review the import in the app

1. When the import finishes, open **Conversations** and select **Filter & sort**.
2. Set **Source** to **Kiro** 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 and edit diffs, then check Kiro's provider card and its recorded
models in Stats. Open Memories to inspect instruction snapshots.

## What Hansard preserves

- Prompts, replies, recorded reasoning, context, and compaction notices.
- Tool arguments, available outputs, checkpoint diffs, and raw sidecars.
- Unified child execution links and known Crew parent relationships.
- Recorded CLI and Crew token counters, models, and separate billing units.
- Local project paths and remote workspace details.
- Native exports, including files copied from another machine.

## Known limitations

- Native trials verify unauthenticated session creation and V2 export loading.
  Authenticated replies, edits, child runs, and live IDE usage remain pending.
- Unified logs expose billing units such as credits, rather than measured
  tokens. Older records may omit models or usage; those values are not invented.
- Automatic cloud listing and export are unavailable. Import a native export
  when the product provides one. Hansard does not attach to or resume a cloud
  agent to obtain its history.
- Unified export ZIPs may omit snapshots and tool-output files. A missing
  historical snapshot is never replaced with a current project file.
- Crew logs omit original tool payloads. Retained companion transcripts can
  fill those fields. Cross-session legacy transcripts lack complete native
  lineage; unmatched historical records remain separate.
- Crew sessions using other agent backends use those agents' importers.
  Older CLI subagent records without a parent identity remain unlinked.
- Standalone legacy IDE messages can lack timestamps; file modification time
  supplies ordering when execution timestamps are unavailable.
- Unknown record types remain in raw preservation and are counted in metadata.

## Refresh an existing archive

```sh
hansard import --source kiro --since all
hansard memory backup
```

Keep original stores for parser refreshes. Local unified and V2 conversations
offer a resume command for their recorded Kiro home and native session ID.

Official references: [Kiro documentation](https://kiro.dev/docs/),
[session management](https://kiro.dev/docs/cli/chat/session-management/),
and [cloud sessions](https://kiro.dev/docs/cloud-sessions/).
