Chronicle reads sessions from three CLI coding assistants — Claude Code, Codex CLI, and Gemini CLI — and presents them in a unified browser window. Each provider is isolated: pins, tags, notes, custom titles, and smart folders you create under Claude never appear under Codex or Gemini. Switching providers swaps every list, count, and stat in the window simultaneously.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/josephyaduvanshi/claude-history-manager/llms.txt
Use this file to discover all available pages before exploring further.
Supported providers
Claude Code
Reads JSONL files from
~/.claude/projects/. Each workspace is a subdirectory named after the encoded project path (e.g. -Users-you-Code-flutter-myapp).Codex CLI
Reads rollout files at
~/.codex/sessions/<year>/<month>/<day>/rollout-*.jsonl, grouped by each session’s working directory.Gemini CLI
Reads single JSON files at
~/.gemini/tmp/<project-dir>/chats/session-*.json, one file per session.Switching providers
Three surfaces let you change the active provider:- Segmented control in the title bar — the fastest path when Chronicle is already in focus.
- Menubar tile grid — switch provider directly from the
⌘⇧Opopover without opening the main window. - View menu — keyboard-accessible from any macOS context.
The
ProviderID enum used internally has three cases: .claude, .codex, and .gemini. Every SQLite row — sessions, tags, pins, notes, smart folders — carries this value so the three datasets stay completely separate.Workspace sidebar
The left sidebar lists all workspaces for the active provider. Chronicle decodes each provider’s storage layout back into real filesystem paths, then buckets every workspace into one of nine color-coded categories:| Category | Matched paths |
|---|---|
| AI/CLAUDE | Projects that work on AI or Claude-related code |
| FLUTTER | Flutter and Dart projects |
| SECURITY | Security, CTF, and audit projects |
| RUST | Rust projects |
| GO | Go projects |
| PYTHON | Python projects |
| WEB | Web frontend projects |
| WORK | General work projects |
| OTHER | Everything else |
Session list
Each row in the session list shows:- Title — the first user message, truncated to fit the row
- Relative timestamp — e.g. “2 hours ago”, “yesterday”
- Token count — total tokens for the session
- Message count — number of turns
- Model name — the actual model string from the session file (e.g.
claude-sonnet-4-5,gpt-5.4,gemini-3-flash-preview)
Live session detection
A green pulse marks any session that one of the three CLIs is currently writing to. Chronicle polls the watched directories for the active provider every two seconds, so the indicator updates in near real-time.Right-click context menu
Right-clicking any session row opens a context menu with the following actions:Pin
Pin
Pins the session to the top of the list. Pins are per-provider and sync via iCloud if sync is enabled.
Tag
Tag
Applies one or more color-keyed tags. Tags are used by smart folders and the
/tag: search filter.Archive
Archive
Moves the session out of the main list into an archived view. Archived sessions are excluded from smart folders by default.
Rename
Rename
Replaces the auto-generated title (first user message) with a custom title. The custom title persists and syncs.
Delete
Delete
Soft-deletes the session with a 30-day undo window. The underlying JSONL or JSON file on disk is never modified — Chronicle only marks the session as deleted in its own SQLite index.