chat-logbook
v0.16.0
Published
A local-first conversation manager for Claude Code
Readme
chat-logbook
Where your AI conversations live.
A local-first library for the conversations you've had with your AI tools. Read by chat-logbook, kept on your machine, browsable and searchable in one place — even after your AI tool has deleted the original.
Status. A personal side project, moving at side-project pace — development and responses happen as time allows. Early release: browsing, rendering, tags, soft-delete, and a local archive that survives vendor cleanup all work today. Search is next. See Roadmap.
What chat-logbook is
You open it from the command line, and a browser window opens onto your conversation history. You can browse it, find anything in it, tag what matters, and pick up where you left off.
It reads the files your AI tools already write to your machine — Claude Code today, with more tools planned. From there it keeps its own copy in a private archive on your machine, so the history is yours even when the source tool quietly cleans up after itself (Claude Code defaults to deleting conversations older than 30 days).
Nothing leaves your machine. There is no account to create. The original files your AI tools wrote are never modified.
We built this because the right place for your AI conversations to live isn't inside the next vendor change.
What it gives you
- Read-only access to source directories. Original conversation files are never modified. Today that means
~/.claude/; the same rule applies to every agent we add. - Local-only. No telemetry, no analytics, no third-party calls.
- Zero configuration. Install and run.
- Drive everything from the keyboard. A
/or⌘Koverlay finds any past conversation in seconds. The mouse still works, but every primary action has a binding. - Your archive is yours. It's a single SQLite file at
~/.chat-logbook/archive.db. Copy it to back up. Open it with any tool that reads SQLite. If chat-logbook disappears tomorrow, the archive doesn't.
The full problem statement, user stories, and direction live in the PRD.
What works today
- Three-column layout. Resizable panels for filters, chat list, and conversation content.
- Rich conversation rendering. Markdown, syntax-highlighted code blocks, collapsible tool calls with one-line summaries, and collapsible thinking blocks.
- Virtual scrolling. Long conversations scroll smoothly.
- A chat list that scales. The list loads on demand as you scroll and stays fast even with tens of thousands of chats.
- Solarized Dark theme. Easy on the eyes, consistent with Claude Code's terminal look.
- Soft delete with Trash. Hide chats you don't want to see; restore them anytime.
- Sortable lists. Sort your chats by title, created time, or updated time, and the choice sticks between visits. Trash sorts independently — by deleted time by default.
- Custom chat titles. Rename any chat — click its title in the list or conversation header, or select it and press
F2/↵. Clear the title to fall back to the first message. - Keyboard navigation. Walk the chat list with
↑/↓— each row you land on opens, and clicking a row picks up where the arrows continue from. - Local archive. Every conversation chat-logbook reads is copied into
~/.chat-logbook/archive.db. The UI reads from the archive, so a chat stays visible even after the source JSONL is gone. - Live updates. While Claude Code is actively writing to a chat, new messages appear in chat-logbook within seconds — no restart needed. New and changed chats surface in the list on their own, without a manual refresh.
- Chat metadata at a glance. A ⓘ button on the conversation header opens a popover showing when the chat started, when it was last updated, the agent, the project working directory, and the chat's IDs — with one-click copy.
- Tags. Create tags, give them colors, and assign them to chats. They show as colored chips on the chat and in the list. Rename or delete them anytime.
- Filter by tag or project. Narrow the chat list to a project, or to chats by tag — match every tag you pick, or any one of them.
Quick start
Requirements: Node.js 20 or later.
Install globally for a shorter command:
npm install -g chat-logbook
chat-logOr try without installing:
npx chat-logbook@latestYou should see:
chat-logbook is running at http://localhost:3100A browser window opens automatically, showing a list of your Claude Code chats on the left and conversation content on the right.
Troubleshooting
"No conversations found."
You need to have Claude Code conversation history at ~/.claude/. chat-logbook reads from this directory automatically.
"Port already in use."
chat-logbook runs on port 3100 by default. Use chat-log --port 8080 (or PORT=8080 chat-log) to pick a different port.
Updating to the latest version.
Run npm install -g chat-logbook@latest. If you use npx, the @latest tag ensures you always run the newest version.
FAQ
Does chat-logbook work with Claude Code on the web?
No. chat-logbook reads from local ~/.claude/ files, which are only created by the Claude Code CLI on your machine. Conversations run via Claude Code on the web (cloud VMs) are not stored locally and aren't visible to chat-logbook.
Why can't I see my /btw conversations?
/btw is designed to be ephemeral — questions and answers appear in a temporary overlay and are never written to conversation history files. For a conversation to be preserved and visible in chat-logbook, send a regular message instead.
Will chat-logbook lose my history if Claude Code deletes its files?
Once chat-logbook has read a conversation into its archive, vendor cleanup of the original file no longer removes it from chat-logbook. The archive's contract: never delete in response to source deletion. Only an explicit user action (Hard Delete / Purge) removes archived conversations.
Where is my data stored?
Three places, all on your machine:
~/.claude/(and equivalents for other tools) — read-only source.~/.chat-logbook/archive.db— chat-logbook's copy of the conversations it has read.~/.chat-logbook/metadata.db— your tags, titles, annotations, and soft-delete flags.
Back up the two ~/.chat-logbook/ files together; they are the complete chat-logbook state.
Is this affiliated with Anthropic / OpenAI?
No. chat-logbook reads files those tools write on your machine. It doesn't talk to their servers and isn't endorsed by them.
Roadmap
Spotlight search. A keyboard-driven overlay (⌘K or /) that searches across chats, messages, tags, and projects from one input. A match lands you on the exact message with the term highlighted, and you can jump between every match without leaving the overlay.
Beyond this, several smaller things are on the list without firm timing — live updates while an AI tool is writing, annotations and highlights for marking what matters, editing your own past messages, CLI commands for working with conversations from a terminal. Some will ship; some are still being weighed.
Explicit non-goals: semantic / vector search, cloud sync inside the OSS core, modification of source directories like ~/.claude/, and bulk export to bespoke formats (the archive itself is the export). See the PRD for the full out-of-scope list.
This project is not affiliated with Anthropic, OpenAI, or any other AI provider. It reads files those tools write on your machine; it does not talk to their servers and is not endorsed by them.
Changelog
See CHANGELOG.md for release notes.
Contributing
Chat Logbook is in very early development. To keep focus on the current goals, we're not taking contributions right now.
If there's something you really need — or you'd genuinely like to help — reach out directly and we can talk through it.
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
You are free to use, modify, and distribute this software under the terms of the AGPL-3.0. If you modify the program and make it available over a network, you must release your modified source code under the same license.
For commercial licensing inquiries, contact the author.
