Home

Documentation

Installation, navigation, search, watchlists, filters, and memory. Everything you need to get the most out of clog.

What is Claude Chronicle?

Claude Code stores every conversation as a JSONL file under ~/.claude/projects/. Each file contains the full message history — user prompts, assistant responses, tool calls, token counts, model information, and timestamps. After a few weeks of use, you'll have hundreds of these files across dozens of projects.

Claude Chronicle (clog) is a terminal dashboard that makes all of this navigable. It discovers your projects, indexes conversation content with SQLite FTS5 for full-text search, and presents everything in a keyboard-driven multi-pane layout. You can search across all your conversations, set up regex watchlists to monitor for patterns, filter the conversation log by message type or model, tail active sessions in real time, and inspect project memory and hooks configuration — all a hotkey away.

It's a single Go binary with zero external dependencies. No config files required — just run clog and it finds your data.

Installation

Go Install
go install github.com/thinkwright/claude-chronicle/cmd/clog@latest
From Source
git clone https://github.com/thinkwright/claude-chronicle
cd claude-chronicle
go build -o clog ./cmd/clog
./clog
Requires Go 1.23+. clog uses modernc.org/sqlite (pure Go, no CGO) for the search index.

Quick Start

Launch
clog

On first launch, clog scans ~/.claude/projects/ and indexes all conversation files. This takes a few seconds for typical setups (under 60 seconds for 1 GB of data). After that, incremental indexing keeps things current as Claude Code writes new conversations.

Use Tab to cycle between panes, arrow keys or j/k to navigate within a pane, and Enter to select. Press / to search, f to filter, w to toggle the watchlist, M for memory, H for hooks, and ? for settings.

Force reindex
clog --reindex

Keybindings

Navigation

KeyAction
TabNext pane
Shift+TabPrevious pane
/ kMove up / scroll up
/ jMove down / scroll down
PgUp / PgDnPage up / down in detail pane
gJump to bottom of conversation
GJump to top of conversation
qQuit (shows confirmation dialog)
Ctrl+CForce quit immediately

Search

KeyAction
/Open search (project scope)
TabCycle scope: project → global → local (while search is open)
EnterNavigate to selected result
nNext match
NPrevious match
EscClose search (keeps highlight); press again to clear

Filters & Watchlist

KeyAction
fOpen filter editor
FClear all filters
wToggle watchlist pane
WAdd new watchlist item

Views

KeyAction
MOpen Memory viewer
HOpen Hooks viewer
?Open Settings panel

Filters

Filters narrow the conversation log to messages matching specific criteria. Press f to open the filter editor, type a filter expression, and press Enter. Filters are stackable — multiple filters are ANDed together.

Filter expressions
type:user                     # show only user messages
type:assistant                # show only assistant responses
model:opus                    # messages from Opus models
tool:Bash                     # messages that used the Bash tool
tokens:>10000                # messages with >10k tokens
model:opus tool:Edit           # combined: Opus + Edit tool

Filter Fields

FieldDescription
type:Message type — user, assistant, system
model:Model name — opus, sonnet, haiku (substring match)
tool:Tool name used in the message (case-insensitive)
tokens:>NMessages with total tokens above N
tokens:<NMessages with total tokens below N

Watchlist

The watchlist turns clog from a passive viewer into an active monitor. Define regex patterns and clog will alert you when new conversation content matches — useful for tracking errors, deployment mentions, specific tool usage, or anything else you want to keep an eye on.

Press w to toggle the watchlist pane, W to add a new item. Items show an unseen match count that updates in real time.

Watchlist Keybindings

KeyAction
a / WAdd new watchlist pattern
dDelete selected pattern
SpaceToggle enabled/disabled
EnterShow matches in session list
mMark all as seen

Memory Viewer

Claude Code auto-generates memory files under ~/.claude/projects/<project>/memory/. These contain patterns, preferences, and architectural notes that Claude learns across sessions. Press M to open a centered modal overlay that displays all memory files for the current project.

Hooks Viewer

Claude Code hooks are shell commands that run in response to events (tool calls, notifications, etc.). They can be configured at global, project, or local scope. Press H to open a modal overlay that displays all hooks configurations with their sources.

Settings

Press ? to open the settings panel. It displays database statistics (indexed files, total messages) and provides controls for reindexing.

Settings Keybindings

KeyAction
rIncremental reindex (only new/changed files)
RFull rebuild (drops database and reindexes everything)
? / EscClose settings panel
Stale index warning. If the index is older than 7 days, the status bar shows a dim yellow hint: INDEX: Xd old — [?]→[r] to refresh. The warning disappears after reindexing.

Data & Indexing

clog reads Claude Code's raw JSONL files from ~/.claude/projects/. It does not modify or write to these files — it's strictly read-only.

The search index is stored as a SQLite database. On macOS: ~/Library/Application Support/clog/index.db. On Linux: ~/.local/share/clog/index.db.

Index Behavior

Performance. Initial index of ~1 GB of conversation data completes in under 60 seconds. Incremental updates for a single file take under 1 second.