ReleaseInsight · On RadarHabr AI→ original

Hansard Moves History of 25 Projects and 53 Conversations from Claude Code to Codex

After Claude Code was blocked, the author needed to continue 25 projects in Codex without losing the decisions made across 53 conversations. The built-in import carried over about 50 sessions, but linked some of them to the wrong projects. Hansard solved the problem differently: it kept the original conversations in a separate archive and gave new agents search access to them through Recall.

AI-processed from Habr AI; edited by Hamidun News
Hansard Moves History of 25 Projects and 53 Conversations from Claude Code to Codex
Source: Habr AI. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1History is stored separately from Claude Code, Codex and other agents.
Key metric #2Before importing, you can check the volume and sources with the command hansard init --dry-run.
Key metric #3Recall finds past decisions without loading the entire archive into the model's context.

When access to Claude Code disappears, the code stays on disk and the repositories stay in Git, but the logic behind past decisions suddenly turns into archaeology. Why did we choose this particular library? Which option did we already try and reject? Which bug did we stop at yesterday? Often the answers live only in the history of conversations with the agent.

The author of the original material ran into exactly this: after Anthropic blocked his paid organization, he had to move his work to Codex. His computer held 25 projects and 53 Claude Code conversations. Codex's built-in import carried over about 50 sessions, but some conversations ended up attached to the wrong projects, and useful context got mixed with system messages. Formally, the history appeared. In practice, it was inconvenient to keep working with it.

Why a Simple Import Doesn't Solve the Problem

Native import transfers data from one specific tool to another. That helps with a one-time move, but it creates a new dependency: the next time you switch agents, you will have to repeat the procedure. Moreover, having an old chat in the interface does not mean the model understands the chain of decisions or can find the right fragment.

Hansard offers a different approach. The history of Claude Code, Codex, Cursor, OpenCode, Kimi Code and a number of other tools is placed into an independent archive. The agent does not receive the whole archive at once: it uses search, finds the sessions related to the project and reads only the relevant fragments. This saves the context window and preserves a link to the original discussion.

A simple example: a developer opens a project in Codex and asks it to recover the decisions about authorization. Recall searches all saved sessions for mentions of the relevant repository, files and tasks. The agent then matches earlier agreements against the current code and shows what has already been done, which options were rejected and where the work stopped.

How to Build the Archive

Hansard has a graphical app for Windows and macOS, as well as a CLI for Windows, Linux and macOS. Before importing, it is worth checking the discovered sources and the expected data volume with the command hansard init --dry-run. The full initial import is run with hansard init --since all, and its state is checked with the commands hansard status and hansard doctor.

To connect search to Codex, use hansard integrations add-to codex; for Claude Code, hansard integrations add-to claude; for OpenCode, hansard integrations add-to opencode. After the configuration changes, the agent must be restarted. In Codex, search is invoked with the $recall skill; in Claude Code and OpenCode, with the /recall command.

It is safer to follow a practical sequence: first run a trial discovery of sources, then import a small period, check several projects, and only then add the entire history. If Claude Code sessions were previously imported into Codex, treat them as possible copies rather than independent sources. Do not delete disputed records before a manual check.

Limitations You Shouldn't Forget

Agent support is asymmetric. One tool may be able to provide its history but not start a new session with the restored context. Some features, including Deep Recall, the relationship graph, token statistics and team sync, were not tested in the original experiment and are described based on the developer's documentation. At the time of publication, the Windows app had preview status, and its installer was not signed.

There is also a more important risk: a session archive may contain keys, personal data, internal addresses and fragments of private code. Before syncing between devices or sharing the archive with a team, you need to find out where the data is physically stored, how it is encrypted and what exactly the search model receives.

The main takeaway is not about Hansard as a standalone product. The history of work with an AI agent should now be considered part of the engineering asset, alongside code, documentation and the architectural decision log. If an agent has become a working tool, its memory should survive an account block, a subscription change and the next move.

Story

Key Questions Answered

Why a Simple Import Doesn't Solve the Problem?

Native import transfers data from one specific tool to another. That helps with a one-time move, but it creates a new dependency: the next time you switch agents, you will have to repeat the procedure. Moreover, having an old chat in the interface does not mean the model understands the chain of decisions or can find the right fragment. Hansard offers a different approach. The history of Claude Code, Codex, Cursor, OpenCode, Kimi Code and a number of other tools is placed into an independent archive.

How to Build the Archive?

Hansard has a graphical app for Windows and macOS, as well as a CLI for Windows, Linux and macOS. Before importing, it is worth checking the discovered sources and the expected data volume with the command hansard init --dry-run. The full initial import is run with hansard init --since all, and its state is checked with the commands hansard status and hansard doctor.

What are the key details on Limitations You Shouldn't Forget?

Agent support is asymmetric. One tool may be able to provide its history but not start a new session with the restored context. Some features, including Deep Recall, the relationship graph, token statistics and team sync, were not tested in the original experiment and are described based on the developer's documentation. At the time of publication, the Windows app had preview status, and its installer was not signed.

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
What do you think?
Loading comments…