Skip to content

How to rewind and branch

Reyn's time-travel lets you rewind to a past checkpoint and optionally branch from that point. This guide covers the available commands and UI.

For how it works under the hood, see Time-Travel concepts.

Open the rewind picker

/rewind

This opens an interactive checkpoint timeline in the TUI. Each row shows:

Column Description
seq Global sequence number of the checkpoint
time Timestamp when the checkpoint was created
kind Boundary type: turn / plan-step / phase

Navigate with ↑ / ↓, select with Enter. Press Esc to close without rewinding.

Shortcut: double-tap Esc Esc from anywhere in the TUI to open the picker directly.

Rewind to a specific seq

/rewind <N>

Rewinds directly to seq N without opening the picker. The agent's conversation state is restored to seq N. User workspace files remain at HEAD — Reyn time-travels its own .reyn/ state only.

After any rewind or fork, the picker switches to a tree view showing all branches. Each branch is labeled with its anchor checkpoint. Use ↑ / ↓ + Enter to select a checkpoint on any branch — active or abandoned.

  • Selecting a seq on the current branch: undo (rewinds the current branch).
  • Selecting a seq on an inactive branch: fork-switch (activates that branch).

Web edit (Phase 2d)

When using Reyn through the web interface (WebSocket / A2A), /rewind opens the same checkpoint picker. After selecting a checkpoint to branch from, the web edit flow presents the original message for you to retype your edited version and submit — inline prefill is not supported in the web surface, so you enter the replacement text directly. Submitting creates a new fork from the rewound checkpoint.

Pending features

Feature Status
/rewind with in-turn edit (ctrl+t) to create a new fork-and-edit branch ✅ Phase 2c, landed
Retention window config (retention: keep_generations: N) to GC old checkpoints ⏳ designed, not yet wired
/rewind picker over WebSocket / A2A web surface; web edit via AskUserMessage UX ✅ Phase 2d, landed

See also