A few months ago I caught myself doing something stupid.
I had already worked through a problem with Claude, gotten a solid explanation, tweaked it in a follow-up thread — and a week later I was in ChatGPT asking the same question from scratch.
Not because the old answer was wrong. Because I couldn't find it.
Learning changed. Memory didn't.
For a lot of day-to-day work — debugging, drafting, learning a new API, thinking through a design — my first stop is an AI chat now. Ask, push back, refine, land on something that fits my context.
That workflow is fast. Keeping it is not.
Chat history was built for the next message, not for next month:
- Threads are siloed per tool (ChatGPT here, Claude there, Cursor somewhere else)
- Search inside each app is thin
- Exports end up as JSON files in a folder you never open again
- Links to "that one great thread" rot in bookmarks
I didn't need another chat window. I needed a memory layer for conversations I already had.
What I tried first
ChatGPT / Claude history — fine for yesterday, bad for "what did I figure out in March?"
Notion / notes — manual copy-paste; always out of date
Raw export folders — data on disk, but no real search across threads and providers
Link lists — good for "where was that chat?" but not for full message text
So I built a tool to fix that.
ChatCabinet AI
ChatCabinet AI is a local-first desktop app (Electron + React + TypeScript) that turns scattered AI conversations into a searchable archive on your machine.
Rough flow:
Archive → Search → Knowledge → Personal AI
Import chats from ChatGPT, Claude, Gemini, Cursor, JSON/Markdown/PDF/DOCX exports, or a folder scan
Search full message text across everything — not just titles
Organize with notes, tags, and collections
Stay local — your archive lives under your control on disk
There's also a links layer (collections, tags, advanced search with operators like tag:, site:, platform:) for "never lose the URL." The conversation archive is the "have the text and search it" layer. Both can be backed up to a single JSON file.
Two problems, one app
| Layer | Job |
|---|---|
| Links | Bookmark chats, tag them, filter duplicates, find by domain/platform |
| Conversation archive | Imported transcripts on disk, full-text search, copy messages, export to Obsidian |
I'm not trying to replace your AI tools. I'm fixing what they leave behind.
Why local-first
Useful context shouldn't sit in someone else's cloud with search you don't control.
ChatCabinet keeps the archive on your computer. No cloud account required to run the app — your data stays on your machine.
If you've ever wanted to grep your past AI conversations — this is that energy, but with a UI.
Stack (for the curious)
Electron — desktop shell, filesystem access,userDatafor the archive
React + TypeScript — UI
On-disk storage for conversations; localStorage for the links layer- Import parsers for provider JSON, Cursor transcripts, Markdown, PDF, DOCX
- Backup/restore as one JSON dump (full replace)
It's a focused desktop tool — built to do one job well: keep your AI conversations on your machine and make them easy to find again.
Get ChatCabinet
ChatCabinet AI is a ready-to-use desktop app for Windows.
Product site: https://chat-cabinet-ai.com/ — overview, demo video, features
Documentation: https://chat-cabinet-ai.com/documentation
Support: https://chat-cabinet-ai.com/support
Install, import your chats, and search across them in minutes.
Feedback
If you try ChatCabinet, I'd love to hear:
- Which AI tools you import from most often
- What search or organization feature saves you the most time
- What would make this your default archive for AI chats
Questions and ideas welcome in the comments.