Skip to main content
Checkpoints give you undo/redo for agent actions. Every time you send a prompt and the agent responds, a checkpoint is created. You can browse past checkpoints, undo to an earlier point, or branch from a previous checkpoint by sending a new message.

Browsing

Use Ctrl+B and Ctrl+F to step backward and forward through checkpoints. When viewing a past checkpoint, messages after that point are dimmed and a separator appears:
Browsing is instant and read-only β€” no files are changed, no git operations run. Press Ctrl+F past the last checkpoint to return to live view.

Branching

Send a message while viewing a past checkpoint to branch from it. The conversation is truncated to that checkpoint’s messages, and your new message continues from there. Later messages are discarded from the model context but remain visible (dimmed) in the chat. This is the primary workflow for recovering from a wrong direction β€” go back to where things were good and try a different approach.

Undo and redo

/checkpoint undo reverts the last checkpoint β€” both the conversation state and the files on disk. Undone checkpoints stay visible in the chat (dimmed) with a separator:
Sending a new message after an undo clears the redo stack, like any standard undo/redo system.

Checkpoint rail

A vertical rail on the right edge of the chat shows checkpoint dots: When there are more checkpoints than the rail can display, +N indicators show how many are hidden above and below. The visible window follows your navigation.

Git integration

Checkpoints that include file edits are automatically git-tagged when the agent finishes. File restore uses per-file recovery (git show) β€” only files edited in the undone checkpoints are reverted. Other tabs’ files are never touched.
No git repo? Checkpoints still work for browsing and conversation undo. File restore is silently skipped β€” the agent will re-apply changes based on the rewound conversation.

Sessions

Checkpoint git tags are saved with sessions and restored when a session is loaded. Deleting a session cleans up its associated git tags.

Tabs

Each tab has its own independent checkpoint history. Git tags are namespaced by tab ID so they never collide. Undoing in one tab has no effect on other tabs.

Steering

Steering messages (typed into the input while the agent is working) do not create new checkpoints. They fold into the current running checkpoint.