What Agent Logbook reads and writes
It's worth being explicit, because a couple of these would look alarming if you found them rather than read them here.
On this page
The short version
- Your chats are read from files on your laptop and are never uploaded.
- There's no account, no server of its own, and no analytics or telemetry.
- It makes one request on its own: your plan usage from Anthropic, the same request Claude Code makes.
- It writes its own cache and settings under
~/.claude. It changes your chat files only when you rename one.
What it reads
| What | Where | Why |
|---|---|---|
| Claude Code transcripts | ~/.claude/projects | The chat list, reading a chat, search, cost |
| Claude sub-agent transcripts | Next to each chat, in subagents/ | Agent cards and threads; their tokens count toward the chat's cost |
| Codex sessions | ~/.codex/sessions | Codex chats and Codex quota, which is recorded inside each session |
| Memory notes and instructions | ~/.claude/**/memory, ~/.codex/memories, ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md | The Memory tab |
| Which chats are running | The Claude CLI's own list (claude agents --json) and the process list | Live dots, the live board, memory and CPU per chat |
| Your Claude login token | The macOS Keychain, or ~/.claude/.credentials.json on Linux and Windows | Only to ask for your plan usage (next section) |
The one network request
To draw the quota bars, Agent Logbook asks Anthropic (api.anthropic.com) for your current plan usage. It's the same request Claude Code makes, with the token Claude Code already stored. The token isn't copied, saved or sent anywhere else.
The answer is cached in ~/.claude/.chistory-usage.json and fetched at most once a minute, less often after an error.
Codex quota needs no request: Codex records it in its own session files.
What it writes
| File | When |
|---|---|
~/.claude/.chistory-cache.json | A summary of each chat, so a growing chat isn't re-read from the start |
~/.claude/.chistory-search.json | The search index |
~/.claude/.chistory-state.json | Your pins, archive, groups and Codex chat titles |
~/.claude/.chistory-usage.json | The last plan-usage answer |
~/.claude/chistory-archive/ | When you archive a chat: a copy, so it survives if Claude Code cleans up the original |
~/.claude/trashed-sessions/ | When you delete a chat: the file is moved here, never wiped |
~/.claude/chistory-briefs/ | When you use Branch with a brief: the brief, left for you to read or edit |
| Your export folder | When you export a chat to Markdown, if you've set one in Settings |
| Your system's temp folder | Briefly, when you copy the usage card or open an image from a chat |
Changes to your chat files
Renaming a Claude chat adds one custom-title line to the end of its transcript. That's how Claude Code reads the new name back, so the rename shows up there too. Renaming a Codex chat writes nothing to its transcript.
Nothing else in your transcripts is changed.
Branch with a brief
This is the one feature that runs Claude for you. It writes a short summary of the old chat, then runs claude -p to turn it into a handover brief for the new chat. That uses your own Claude plan, and it only happens when you click it.
What it never does
- Send your chats, file paths, prompts or code anywhere
- Collect analytics, crash reports or usage events
- Ask you to sign in to anything
- Delete a chat file outright
Questions
Open an issue on GitHub or email ragulsundaram15@gmail.com.