Cairn

Cairn

MCP server that backs up and syncs Claude Code conversations across accounts, and lets Claude search your complete history via natural language.

Category
Visit Server

README

<div align="center">

<img src="docs/hero.svg" alt="Cairn β€” your Claude Code conversations, on every account" width="100%">

<br><br>

Cairn

Your Claude Code conversations, on every account.<br> Saved before Claude deletes them, and shared with every account you sign into.

<br>

License: GPL v3 For Claude Code Dependencies: none No network calls Status: beta

πŸ‡¬πŸ‡§ English Β· πŸ‡«πŸ‡· FranΓ§ais Β· πŸ‡ΉπŸ‡· TΓΌrkΓ§e Β· πŸ‡¦πŸ‡Ώ AzΙ™rbaycanca

</div>

<br>


🎯 Why

You signed into a different Claude account and your conversations vanished.

They are not gone. They are on your disk, exactly where they were. Claude keeps a separate list for each account, and after you sign in somewhere else it is reading the wrong list.

There is a second problem, quieter and worse: Claude Code deletes conversations after 30 days. By default, without telling you. Most people find out when something they wanted is already gone.

Cairn fixes both, then gets out of the way.


πŸš€ Install

πŸͺŸ Windows β€” no terminal needed

1 ⬇ Download Cairn.cmd β€” your browser may ask whether to keep the file. Keep it.
2 Double-click it.
3 Press 1, wait a few seconds.
4 Quit Claude completely, then open it again.

Done. Your conversations are back in the sidebar.

Run it once more and press 3 to turn on automatic sync, so this was the last time you had to do anything.

🍎 macOS / 🐧 Linux

npx github:veax-project/claude-cairn

Same screen, same steps.

<br>

⚠️ Then quit and reopen Claude

Claude reads its list of conversations once, at startup. Cairn can add to that list, but Claude will not notice until the next launch. This is the #1 reason people think it did not work.

πŸ“¦ It needs Node.js

Most developers already have it. If you do not, the window tells you so and points you there β€” install the version marked LTS, then run it again.


✨ What it does

  • πŸ’Ύ Saves them. Every conversation is copied somewhere Claude does not delete from. That copy is yours, and nothing removes it.
  • πŸ”„ Shares them. Every account on your computer gets every conversation β€” in both directions. Start something on one account, switch to another, it is there. Go back, and the work you did in between is there too.
  • πŸ‘οΈ Watches. Turn on automatic sync and both happen every ten minutes, starting with your computer. You never think about it again.
  • πŸ”Ž Lets Claude search it. From any account, including one you made five minutes ago.
  • ↩️ Undoes itself. One command removes exactly what it wrote, and nothing else.

πŸ”Œ Let Claude search your own history

npx github:veax-project/claude-cairn install-mcp

Restart Claude, then ask it things like:

search my old conversations for how we fixed the auth bug

<div align="center"> <img src="docs/accounts.svg" alt="The accounts screen" width="820"> </div>

This works on any account, including a brand-new one. That is the whole point: the connection belongs to your computer, not to an account.


🧯 Troubleshooting

Symptom Cause Fix
😐 Nothing came back Claude was already open Quit it completely and reopen β€” it only reads the list at startup
πŸͺŸ The window closed instantly Node.js is missing Install it from nodejs.org, pick LTS, run the file again
🀷 A conversation is still missing It belonged to a different project The sidebar is filtered by project β€” open that project's folder
πŸ”’ Accounts show as codes Nothing on your disk says who they were Press 4 and name them; new accounts name themselves
😱 It made things worse β€” undo puts everything back exactly as it was
🍎 Nothing at all on a Mac Never tested there Tell us what happened β€” that is the only way it gets fixed

πŸ›‘οΈ Where your data goes

Nowhere. Cairn copies files from one folder on your computer to another folder on your computer.

  • 🚫 Zero dependencies. The dependencies block in package.json is empty.
  • 🚫 Zero network calls. No telemetry, no update check, no analytics. Turn off your wifi and every command still works β€” the easiest way to check for yourself.
  • πŸ”Œ The MCP server talks to Claude over standard input and output. It opens no socket.
  • πŸ—‘οΈ Nothing is ever deleted from your backup. Not even by Cairn.
  • ↩️ undo removes only what it wrote, recognised by size and timestamp β€” anything Claude has touched since is left alone.

<details> <summary><b>πŸ“„ See exactly what you are installing</b></summary>

<br>

Around 3000 lines of plain JavaScript, no build step, no bundler. Eleven files in src/, and you can read any of them.

The launcher is a 90-line .cmd that checks for Node, downloads the release archive, and runs it. It is pure ASCII and does nothing else.

</details>


πŸ“‹ Commands

Command What it does
cairn Opens the screen at the top of this page
cairn sync Save everything, then give every account everything
cairn autostart on Keep doing that, every 10 minutes, from startup
cairn status What is here, what is hidden, what is at risk
cairn undo Remove exactly what the last sync wrote
cairn search <words> Search across every account
cairn install-mcp Let Claude search the archive itself
cairn export Write every conversation out as Markdown
cairn pack Bundle conversations into one file to attach to a chat

Your backup lives in ~/ClaudeCairn. Move it with --vault <folder> or the CAIRN_VAULT environment variable.


πŸ”¬ How it works

<details> <summary><b>You do not need this to use Cairn β€” but a tool that touches your conversations should be able to explain itself</b></summary>

<br>

Claude Code keeps two separate things, in two separate places:

~/.claude/projects/<project>/<id>.jsonl
    the conversation itself
    deleted once it is older than cleanupPeriodDays β€” 30 by default

<appData>/Claude/claude-code-sessions/<account>/<org>/local_*.json
    the sidebar entry that lists it
    one folder per account, which is why switching hides everything

Cairn copies the first somewhere safe, and writes the second under every account it finds. Conversations are only ever appended to, so a file that has not grown is skipped. Nothing is ever removed from the backup β€” a conversation Claude has already deleted stays, because that copy is now the only one in existence.

Claude checks each sidebar entry against a strict shape before it will list it, and silently drops anything that does not match. Cairn builds them from the shape observed in real files: timestamps as numbers rather than text, no extra fields, and none of the placeholder values that occasionally appear in transcripts.

The search index is SQLite full-text search, using the copy that ships inside Node. That is why there are no dependencies.

</details>


⚠️ Beta

A first release. Verified end to end on Windows: 23 conversations that had been invisible for weeks came back into the sidebar after a restart, and every entry Cairn wrote was accepted.

21 automated tests, including one that replays the interface onto a simulated terminal at seven window sizes to catch layout faults.

βœ… Proven Windows
❓ Never run macOS, Linux β€” the code is written and reviewed, nothing more
❌ Impossible Conversations Claude deleted before your first backup. Nothing brings those back.
❌ Out of scope Regular claude.ai chats. Those live on Anthropic's servers and cannot be moved between accounts β€” a limit of the product, not of this tool.

Open an issue β€” especially if you are on a Mac.


<div align="center">

GPL-3.0 Β· Built because switching accounts should not cost you your work.

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured