Versions and Git history

Every local file has a history you can look back through, whether or not it's in a Git repository.

How to reach it

The version rail is a panel beside the document; toggle it with the chevron button in the header.

Git-tracked files

If Git tracks the open file, the rail shows its commit history instead of snapshots. The rail is labeled git. Uncommitted changes appear as their own entry at the top; clicking it shows the file as it currently is, since that's what you're already looking at. When there are no uncommitted changes, the newest commit IS the file as it currently is: it stays highlighted while you edit, and clicking it keeps you in the editable document.

Snapshots

Every other file gets an automatic snapshot ring instead. Snapshots coalesce so the rail doesn't fill up with noise:

  • External or AI-agent writes made less than 25 seconds apart merge into a single entry, up to a 10-minute cap.
  • The app's own saves coalesce into a rolling window of about 10 minutes.

Previewing a version

Clicking any other version number — an older commit or a snapshot — previews it read-only before you act on it. The diff is a separate step: use Compare Versions to see what changed.

Deleting a snapshot

For a file Git does not track, select a saved version in the rail and press the trash icon. Confirm Delete to permanently remove that snapshot from this device's history. The next newer version is selected, or the older one if there is no newer version. Compare closes only when it shows the deleted snapshot. Deleting the last snapshot hides the history controls.

The current file and your unsaved text stay unchanged. You cannot delete Current file or a Git commit from the rail. There is still no Restore action on this version rail.

Cloud notes

Notes in a cloud vault keep their own, separate version history, with its own restore behavior. See Cloud vault and MCP.

Limits

  • Another window can keep its old snapshot list until history reloads. Close and reopen the file, or focus it in reading mode with View last changes in document enabled, to refresh.
  • After a commit made outside the app, the Git rail refreshes when you reopen or resave the file, or focus it in reading mode with View last changes in document enabled.
  • Works the same way on .yaml and .json files — see YAML and JSON files.

Having trouble loading?

The app seems stuck. This can happen after an update. Clearing the cache should fix it.