ReferenceCheckpointing

Checkpoints & rewind

Changed your mind? Syntic Code keeps a backup of every file before the agent edits it, and marks a restore point at each of your messages. You can roll back the code, the conversation, or both, to any earlier message.

Rewind

Press Esc twice on an empty prompt, or type /rewind.

  1. Pick the message you want to go back to. The list shows each of your messages; Home/End go to either end.
  2. Pick what to restore:
ChoiceCodeConversation
Restore conversation and codeBack to how it was before that messageBack to that message
Restore conversation onlyUnchangedBack to that message
Restore code onlyBack to how it was before that messageUnchanged
Summarize from hereUnchangedEverything after that message is replaced by a summary
Summarize up to hereUnchangedEverything before that message is replaced by a summary
Never mind

Before it applies, rewind shows how many lines would change.

Other ways back

CommandDoes
/rollbackUndo the last message turn.
/checkpoint <label>Bookmark this point with a name, so it is easy to find in the rewind list. Without a label, opens rewind.
/rewind <n>Jump straight to checkpoint n.
syntic --resume <id> --rewind-files <message-id>From a shell: put a saved session’s files back to how they were before a message, then exit.

What is covered

Rewind restores files changed by Syntic Code’s file tools: Write, Edit, MultiEdit and NotebookEdit. Files the agent created are deleted again.

It does not undo:

  • changes made by shell commands (rm, mv, code generators, package installs, database migrations);
  • anything outside your working folders;
  • files larger than 2 MB (they are listed as skipped);
  • edits you made yourself outside Syntic Code;
  • remote side effects such as pushed commits or deployed services.

Rewind is available in interactive sessions. Headless (-p) runs do not record checkpoints.

⚠️

Checkpoints are a quick undo, not version control. Commit to git for anything you want to keep.

Storage

Backups live in ~/.syntic/file-history, kept per session. A session keeps its last 100 restore points, dropping the oldest as new ones are added; a restore point whose data was dropped is refused rather than half-applied.

VariableDefaultControls
SYNTIC_EDIT_BACKUPS_PER_FILE10Backups kept per file per session (newest first).
SYNTIC_EDIT_BACKUPS_MAX_MB200Total size of all backups; the oldest go first.

--no-session-persistence and SYNTIC_SKIP_SESSION_PERSISTENCE also turn off backups.