Timeline โ
Every edit to a notebook is captured to a durable, content-addressed history โ a built-in Timeline you open with the ๐ button: scrub back through every checkpoint, diff, restore, or replay the notebook building itself up from scratch.
What gets recorded โ
Each checkpoint stores the full serialized notebook plus per-cell digests, tagged by source:
| Icon | Source |
|---|---|
| ๐ค | a browser edit |
| ๐ค | an agent edit |
| ๐ | an external edit (VS Code, git) |
| โฉ | a restore |
| ๐ฑ | the notebook opening |
| ยท | a periodic auto-draft |
Captures are deduplicated by content hash, so a no-op capture is free and the store stays clean. A low-frequency background snapshot guarantees an at-least-periodic capture even for changes that slip past the op-level checkpoints.
Browsing and diffing โ
The history panel lists checkpoints newest-first. Select one to see a line diff against its parent. The current state is marked; drafts are dimmed.

Restoring โ
Restoring is non-destructive: the current state is pushed onto the undo stack and the restore is itself recorded as a new checkpoint, so you can always come straight back.
Replay โ the buildup โ
Press โถ Replay to step through every checkpoint in order, watching the notebook build itself up from origin to now. This is both a storytelling tool and the basis for generating the animated demos in this documentation: a headless browser replays a curated notebook's history and records it.
Undo / redo โ
โZ / โโงZ step back through source snapshots for quick reversals, deferring to the editor's own text undo while a cell editor is focused. Each entry is labelled with the action it reverses, so the menu reads โถ Undo cut 3 cells.
The stack lives in the hub alongside the open notebook โ not in the page โ so it survives a reload, a closed tab, and a reconnect days later. You come back to a notebook and pick up where you left off instead of a blank undo stack. It holds the last 100 steps.
The Timeline is the durable, unbounded counterpart: it outlives the hub, and since undo and restore are themselves recorded as new checkpoints, nothing you do can lose earlier state.