Chronicle Documentation
Chronicle is a local-first time machine for AI coding sessions. It imports the conversation logs your AI coding assistants already write, and maps every message to the exact state of your code at that moment — reconstructed from your project's Git history. Click any message, and travel back to the code as it was.
Everything runs on your machine: your session data never leaves it, Chronicle has no server of its own, there is no telemetry, and nothing in the analysis path calls a model: every number Chronicle shows is computed by a local heuristic or a static table. The one feature that does use a model is Ask, which is off by default. Turn it on and Chronicle runs claude -p locally, on the Claude subscription you already pay for, once per question you type. Chronicle ships no API key of its own; leave the toggle off and no model runs at all.
Chronicle makes exactly one outbound call, and it is opt-out: it reads your own Claude plan windows by sending Claude Code's own OAuth token to the token's own issuer, the same request Claude Code makes. Codex plan windows are read locally. The call is on by default, and one Settings toggle turns it off for a fully offline instance. Your source logs and project repos are never written to. Chronicle observes and organizes your AI tools; it never replaces them.
Chronicle imports from four tools today — Claude Code, Codex, Cursor, and OpenCode — and unifies their sessions into a single, path-based project view.
npx chronicle-cliThat's the whole install (Node.js 24+ required) — it starts a local server and opens your browser to the dashboard.
New here? Jump to the Quickstart and reach your first time-travel moment in a couple of minutes.
The three pillars
Chronicle's design philosophy is Time Travel · Measure · Secure:
- Time Travel — click any message in a session and see your code exactly as it was, a scrubbable timeline over your commit history, and a Refine mode for distilling a session into docs or a reusable prompt.
- Measure — Insights, a tabbed dashboard (Overview / Explore / Content) available across all projects, scoped to one project, or scoped to one session — spend and token breakdowns, agent-active duration, tool-call distribution, and first-class Subagents attribution — plus full-text search and invisible background auto-sync that keeps everything fresh with no manual re-import.
- Secure — one-click Security Check with built-in and custom redaction rules, and a one-way redacted Markdown export. All parsing and storage stay on-device (see Privacy & data).
Guide
Get up and running.
| Page | What it covers |
|---|---|
| Installation | The npx chronicle-cli install, Node requirement, CLI flags, and data location |
| Quickstart | Your first time-travel in a couple of minutes |
| Always-on local service | Run Chronicle as a login service (LaunchAgent/systemd) at a stable local URL |
Reference
| Page | What it covers |
|---|---|
| Supported tools | The four-tool support matrix, log locations, and configuration (env vars, config.json, ports) |
| Privacy & data | The local-first guarantees and the exact outbound calls (there is one: your own Claude plan windows, on by default, off in Settings) |
Architecture
For contributors who want to understand and extend the codebase.
| Page | What it covers |
|---|---|
| How it works | The single-process web app, the data model, ingestion, the Git snapshot engine, invisible sync, and the Insights engine |
Then see Contributing for dev setup, the branch-and-PR workflow, and how changes are verified.
Project background
The README carries the full feature inventory, and the CHANGELOG tracks releases.
License: Chronicle is Apache-2.0 licensed.