Skip to content

Restore what the agent had

List a session's snapshots

$ gitvow snapshots
session 8f3d5c71   12 snapshots
  n  taken                tool   file                              changed vs HEAD
  1  2026-09-09 10:44:52  Edit   calc.py                           1 file
  2  2026-09-09 10:45:10  Write  tests/test_calc.py                2 files
  ...

gitvow snapshots --session <id> narrows to one session; --all lists every session in the repository.

See what the agent had changed at that point

gitvow diff 8f3d5c71 2            # git diff --stat HEAD..snapshot
gitvow diff 8f3d5c71 2 --full    # the full patch

Restore into a scratch worktree

$ gitvow restore 8f3d5c71 2
restored refs/gitvow/snapshots/8f3d5c71.../2 into /tmp/gitvow-restore/8f3d5c71-2 (detached worktree)

Your branch and working tree are untouched. Read, run or copy from the worktree, then remove it with git worktree remove <dir>. Pass --to <dir> to choose the location.

Prune

gitvow snapshots prune --older-than 14d
gitvow snapshots prune --session <id>

Turn off, or exclude more

In .gitvow/policy.json or ~/.gitvow/policy.json:

"snapshots": {"enabled": true, "max_per_session": 200, "exclude": [".env*", "*.pem", "*.key", "*secret*", "*credential*", ".gitvow/**", ".claude/**"]}

exclude patterns are git pathspecs applied on top of .gitignore; add your own for anything that must never enter a snapshot.