# Roo Code

> Import historical Roo Code IDE and CLI tasks, tools, usage, and instruction files.

Roo Code shut down in May 2026. Hansard reads its retained local histories
without starting the extension or connecting to the retired service.

## Source IDs

| Source         | Use it for                                             |
| -------------- | ------------------------------------------------------ |
| `roo-code`     | Historical Roo Code IDE task folders.                  |
| `roo-code-cli` | Historical CLI task folders in the VS Code shim store. |

## How the import works

The IDE stores tasks beneath its editor's `User/globalStorage/rooveterinaryinc.roo-cline/tasks`
folder. Hansard checks standard VS Code, Insiders, VSCodium, Cursor, and Windsurf
locations on macOS, Linux, and Windows, plus VS Code remote-server homes.
`HANSARD_ROO_CODE_ROOTS` accepts a path-separated list of extension storage
folders, including folders selected through Roo's custom storage setting.
The CLI's default store is `~/.vscode-mock/global-storage/tasks`;
`HANSARD_ROO_CODE_CLI_ROOTS` accepts alternate CLI storage folders.

Each task combines its API transcript, UI history, per-task history item, and
file-context metadata. Older installations use the shared task index or editor
state database for titles, folders, and lineage. Hansard preserves the JSON
bytes and a coherent SQLite snapshot when it reads that legacy database.
Fingerprints depend on the task's own content and metadata, so unrelated index
updates do not reimport unchanged tasks. Resuming a task updates the same archive
identity. Source files remain unchanged and symbolic links are skipped.

## Import and keep current

**Import now**

```sh
hansard import --sources roo-code,roo-code-cli --since all
hansard index rebuild
```

**Keep current**

**Automatic** source selection includes both historical stores. For a
**Custom** list:

```sh
hansard config sources enable roo-code,roo-code-cli
hansard watcher restart
```

## Review the import in the app

1. When the import finishes, open **Conversations** and select **Filter & sort**.
2. Set **Source** to **Roo Code** 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.

## What Hansard preserves

- Human prompts from UI history, assistant replies, recorded reasoning,
  compaction summaries, and attachments.
- Native tool calls and historical XML calls, results, errors, MCP identities,
  and numbered edit diffs where the API transcript retains them. UI-only
  tool dialogs remain unconfirmed calls; completion is not inferred.
- Task titles, working folders, mode, parent/child relationships, and recorded
  usage. Child tasks remain separate from human conversation activity.
- Request usage with the historical distinction between fresh and inclusive
  input counts. Costs stay estimated because Roo's saved value can mix provider
  costs and calculations without identifying which was used.
- Global and project `.roo` rules, mode-specific rules, commands, system
  prompts, `.roomodes`, legacy `.roorules` and `.clinerules`, and stored custom
  modes through `hansard memory backup`.
- Resume commands for retained CLI stores with their standard directory layout.

## Known limitations

Task logs frequently omit model IDs. Hansard does not infer historical models
from the current provider profile. Those tokens remain unattributed to a model;
a recorded cost estimate can still appear in Stats. Legacy API-only messages
may lack clocks, while UI messages retain their recorded timestamps.

Roo may remove API records during continuation or compaction. UI history can
retain the corresponding text and usage, but missing tool arguments cannot be
reconstructed. When both UI and API history are present, UI records determine
human turns; generated context does not become additional user activity.

Ephemeral CLI tasks are available only while their temporary files remain.
The CLI prompt-input history is not a transcript. Checkpoint repositories,
credentials, current API profiles, indexes, caches, and diagnostic logs are not
memory files. The retired cloud service has no supported history acquisition
path; retained local copies are the available source.

## Refresh an existing archive

```sh
hansard import --sources roo-code,roo-code-cli --since all
```

No migration of other providers is required. Retain the original task folders
for later parser updates.
