Skip to content

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.

bash
npx chronicle-cli

That'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.
  • MeasureInsights, 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.

PageWhat it covers
InstallationThe npx chronicle-cli install, Node requirement, CLI flags, and data location
QuickstartYour first time-travel in a couple of minutes
Always-on local serviceRun Chronicle as a login service (LaunchAgent/systemd) at a stable local URL

Reference

PageWhat it covers
Supported toolsThe four-tool support matrix, log locations, and configuration (env vars, config.json, ports)
Privacy & dataThe 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.

PageWhat it covers
How it worksThe 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.

Released under the Apache License 2.0.