Skip to main content
Every successful prompt or hand-edit produces a revision in version history. Revisions are immutable, named, and instantly recoverable. Treat them like Git commits — but without the friction.

Anatomy of a revision

Each revision records:
  • The prompt (or “manual edit” for Code mode changes).
  • The agent that ran it (Claude Code, Codex, Gemini CLI, or “manual”).
  • The plan (if Plan mode was used).
  • The diff of files changed.
  • The build result (success or fail).
  • A named label (auto-generated; you can override).

The timeline view

Open History from the project sidebar. You’ll see:
Each row is a revision. Click to inspect.

Common operations

Inspect a revision

Click any row. See the prompt, the plan, the file diff, and a “Preview at this revision” button.

Roll back

Click “Restore this revision”. The project’s current state becomes that revision; the rolled-back changes become a new revision (so the undo is itself recoverable).

Compare revisions

Pick two revisions, see the diff between them. Useful for understanding “what changed in the last hour.”

Branch from a revision

Click “Branch from here”. Creates a new branch at that point so you can experiment without affecting main.

Rename a revision

Click the auto-generated label and rename. Useful for marking milestones (“v1 release”, “before billing rewrite”).

Tag a revision

Add tags (“stable”, “demo-ready”). Easier to find later than scrolling timestamps.

Schema changes and rollbacks

Important caveat: rolling back code does not undo schema migrations. If revision #140 added a priority field to tasks, rolling back to #139 leaves the field in the database — the new code path that uses it is gone, but the field stays. For most cases this is fine (the field becomes orphaned but harmless). For destructive schema changes (renaming tables, dropping fields with data), rollback requires a separate cleanup mutation. vly will warn you when a rollback is “schema-incompatible” and explain what to do.

Limits

After the retention window, older revisions are archived (still inspectable, but rolling back may take longer).

Branching

Experiment safely from any revision.

Undo / redo

The keyboard-driven sibling.

GitHub integration

Sync revisions to a Git repo.
Last modified on April 18, 2026