[Image]
ChatAtlas Local
Your ChatGPT and Claude chats, searchable on your own computer.
Ask Claude about them. Nothing leaves your machine.
[Tests]
[Node 22.16 or newer, or 24]
[MIT license]
[ChatAtlas Local on Glama]
[ChatAtlas Local in the browser: a search for "sourdough" with the matching chat open]
You've had hundreds of conversations with AI assistants. The good answers, the decisions, the
half-finished plans are scattered across ChatGPT and Claude, and their own search barely helps.
ChatAtlas Local takes the data exports both of them already give you and keeps every chat in one
file on your computer. Then you can:
- Search everything at once, from the terminal or in your browser.
- Ask Claude about it: "what did ChatGPT tell me about my sourdough starter?" or "find the chat
where I planned the garden beds." Claude Desktop, Claude Code, Cursor, VS Code and others can
read your archive through MCP.
- Keep it forever, as plain Markdown files or a backup, whatever happens to the apps.
No account, no server, no telemetry. It never connects to the internet.
Get started
You need Node.js 22.16 or newer (or 24). Then:
Before the first npm release, install it straight from GitHub: npm install -g github:hnt504/chatatlas-local
1. Ask for your exports
- ChatGPT: Settings → Data controls → Export data. You get an email with a link to a .zip.
- Claude: Settings → Privacy → Export data. Same idea: an email, then a .zip.
2. Bring them in
Do it again whenever you like with a newer export: new chats come in, changed ones update, nothing
doubles up. Or let it happen by itself (see Exports folder).
One Claude chat, every branch. On claude.ai, Retry or editing a message hides the old reply
behind a small version switcher, and the next sync of most tools keeps only what is on screen. To
save a chat with all of its branches, open it in Chrome, press F12, choose Console, and paste:
Then chatatlas-local import claude-<id>.json. The branch on screen comes first; each hidden
branch follows it, opening with "Earlier version, hidden on claude.ai by a retry or an edit."
3. Look around
Connect Claude (and friends)
Claude Desktop
Either download chatatlas-local-<version>.mcpb from the
latest release and open it with
Claude Desktop (it asks where your exports go; no terminal needed), or, with the command
installed:
Quit Claude Desktop completely and open it again. Then ask it something like "Search my old chats
for the kitchen remodel estimate."
About the red warning. When you open the extension, Claude Desktop says installing it "will
grant this extension access to everything on your computer." It says that for every extension
installed from a file rather than from Anthropic's directory, because an extension is a program
that runs as you. Here's what this one actually does: it reads your exports and its own archive
file, never connects to the internet, and gives Claude read-only tools. The code is all here to
check.
Claude Code
Install it as a plugin (the MCP tools and a skill that teaches Claude when to look here):
Or, with the command installed:
Cursor, VS Code, Windsurf, Gemini CLI, Codex
--write keeps a copy of the app's old settings file next to it before changing anything.
What about ChatGPT?
ChatGPT can't reach a file on your computer, so it can't read your archive here. You can still
import your ChatGPT exports and search them from Claude, the terminal or the browser view.
What the assistant can do
Everything is read-only. An assistant can find and read your chats; it can't change, tag or delete
anything.
An exports folder
Point ChatAtlas Local at a folder (your Downloads, say) and any ChatGPT or Claude export you save
there comes in by itself. Other files are left alone, and each file is only read once.
The Claude Desktop extension asks for this folder when you install it.
Commands
Filters for search, list, export and topics: --platform chatgpt, --tag work,
--since 2025-03, --until 2026, --title garden, --limit 50, --offset 50, --json.
Privacy policy
ChatAtlas Local is a program that runs on your computer. It has no servers and no accounts.
- What it collects: nothing. It has no analytics, telemetry or crash reporting, and never makes
a network connection.
- What it stores, and where: the chats from the exports you import, plus any tags you add, in
one SQLite file on your computer:
~/.chatatlas-local/chatatlas.db (chatatlas-local where
says exactly where). Use another with --db <file> or the CHATATLAS_LOCAL_DB setting. It reads
your export files and doesn't change or delete them.
- Sharing: ChatAtlas Local shares nothing with anyone, including its author. If you connect an
AI assistant (Claude Desktop, Claude Code, Cursor and so on), that assistant can search and read
your archive through read-only tools when you ask it to, and what it reads becomes part of your
conversation with it, under that assistant's own privacy policy.
- The browser view listens on
127.0.0.1 only, answers only requests addressed to it, and every
request needs a random key that only the tab it opened knows.
- How long it's kept: until you delete it.
chatatlas-local forget <id> removes a chat;
removing the ~/.chatatlas-local folder removes everything. Your ChatGPT and Claude accounts are
never touched.
- Installing: npm (or GitHub, for the Claude Desktop extension) serves the download under its
own terms; after that, nothing goes over the network.
- Contact: questions go to GitHub issues;
anything that could expose someone's chats goes privately through
security advisories.
ChatAtlas Local and ChatAtlas Pro
ChatAtlas Local is free and open source, and stays that way.
ChatAtlas Pro is the hosted version, for people who want more:
They speak the same backup format: chatatlas-local export <folder> --format chatatlas makes a
file ChatAtlas Pro imports, and a ChatAtlas backup comes into ChatAtlas Local the same way.
Questions
Which Node do I need? 22.16 or newer, or 24 and up (23 won't do), because ChatAtlas Local uses the SQLite database built
into Node. chatatlas-local doctor checks.
A chat I had yesterday isn't there. The archive holds what was in the exports you imported.
Ask for a fresh export and import it (or drop it in your exports folder).
Can it read exports from Gemini or other apps? Not directly yet. ChatAtlas backups can carry
chats from any platform, and support for more exports is welcome as a pull request.
How big does it get? About the size of the exports' text. A 60 MB export of 3,000 chats
imports in about two seconds and searches in well under a tenth of a second.
Contributing
Bug reports and pull requests are welcome. See CONTRIBUTING.md.
License
MIT. Made by Heather Turner, who also makes ChatAtlas.