Skip to main content
Checkpoints capture workflow execution state at step completion boundaries. They enable two operations: rewind and branch.

Rewind

Roll a running or failed workflow back to a previous checkpoint. The run state resets to the checkpoint moment: completed steps are preserved, subsequent steps are cleared, and execution resumes from that point. Useful for recovering from failures without restarting from scratch.

Branch

Create a new run from a checkpoint with modified inputs. The original run is unaffected. The branched run starts from the checkpoint state with new inputs applied. Useful for “what if” exploration and A/B testing of workflow variations.

State Preservation

Each checkpoint stores:
FieldDescription
completedStepIdsSteps that finished successfully up to this point
skippedStepIdsSteps conditionally skipped up to this point
variablesFull accumulated variable scope (args + step outputs)
accumulatedOutputsPer-step output objects keyed by step ID
variableOverwriteOrderStep ID sequence for deterministic replay
sequenceMonotonic counter within the run
Checkpoint state uses the same structure as failureSnapshot. Rewind and restart share the same state restoration path in the Convex interpreter.

How It Works

Step 1->Checkpoint A->Step 2->Checkpoint B->Step 3 FAILED
Rewind to A -> re-execute steps 2, 3 from checkpoint A stateBranch from B -> new run with modified inputs, original run unchanged
Checkpoints are created automatically after every step completion. They can also be triggered via the Platform API. Configuration options include interval-based capture (every N steps) and phase-boundary capture.
In Burgundy: Manage checkpoints from the run detail page. ->