Skip to main content

What is indexed, and where it lives

What gets indexed​

SourceOriginNotes
Sessions (Claude)~/.claude/projects/<hash>/<uuid>.jsonlFull transcripts, tokens, cost, files touched, models used
Sessions (OpenCode)~/.local/share/opencode/opencode.db (SQLite)Cost, tokens, todos
Subagent transcripts<session-dir>/<id>/subagents/*.jsonlExplore, aside, and acompact-* (orphaned compacted history)
Plans~/.claude/plans/*.mdAgent planning docs, split by ##
Tasks~/.claude/tasks/<session>/*.jsonLinked to parent session
CLAUDE.mdAuto-discovered from project hashesLinked to sessions in same project
History~/.claude/history.jsonlShell history, optionally tied to a session
Paste~/.claude/paste-cache/*.txtLarge pasted blobs
Diary~/.chat-recall/index/diary/<agent>/*.jsonWhat the agent told its future self via recall_diary_write

Data locations​

The CLI keeps almost nothing locally — just what it needs to reach the server:

PathWhat
~/.chat-recall/credentials.jsonServer target(s) + device token (mode 0600)
~/.chat-recall/sync-ledger.jsonPer-server sync watermark (what's already shipped)
~/.chat-recall/hooks/Installed hooks (after install-hooks)
~/.chat-recall/index/diary/Agent diaries written by recall_diary_write
~/.chat-recall/shadow/Gzipped copy of the fullest-seen transcript per session, so an upstream --resume truncation cannot destroy history
~/.chat-recall/cache.dbLocal outcome/metadata cache for the local dashboard. Not an index, and not used in server mode

All indexed content — chunks, FTS, vectors, knowledge graph, secret findings, diary — lives on the server (Postgres for self-host and SaaS). Reset it by wiping the server's Postgres data, not anything under ~/.chat-recall.

Privacy​

Your sessions sync to a chat-recall server — either one you self-host (your own box, your own Postgres) or the SaaS. Before anything leaves the CLI it is redacted: secrets are masked client-side, so the server never receives raw credentials. Self-hosting keeps all data on infrastructure you control; the SaaS is the hosted alternative.

No telemetry. Your data lives in your server's Postgres — back that up however you like. On the SaaS it lives in the hosted Postgres; self-host if you'd rather keep it entirely on your own infrastructure.