Working in the app
Snapshots and undo
Before HugoKit writes to any file in your site, it keeps a copy – every change is recorded as a diff, and undo works per file or per operation.
Last updated
HugoKit edits files that are yours – a config, a post, a template a preflight fix rewrites. The one mistake an app like this can’t afford is changing your text and leaving you no way back. So it doesn’t get the chance: before HugoKit writes to any file in your site, it snapshots the file as it was.
When a snapshot is taken
Every write HugoKit makes goes through the same door. That covers all four places the app touches your files:
- Preflight fixes – every file an approved fix rewrites.
- Config saves – the config file, after you approve the diff.
- Content saves – a file saved from the Content page’s Raw editor.
- Theme changes – the config write when you set a different theme.
If the snapshot can’t be taken, the write doesn’t happen. No copy, no change.
Note the boundary: snapshots cover what HugoKit writes. Edits you make in your own editor never pass through the app, so they’re between you and your editor – and your git history.
Where snapshots live
In HugoKit’s own storage, under Application Support – never inside your project. Nothing new appears in your repository, so a snapshot can’t be committed, pushed or published by accident.
Every change is a diff
Alongside the copy, HugoKit records what actually changed – a per-file diff, captured at the moment of the write, so later edits don’t muddy the history.
Open Snapshots from the site’s ⋯ menu and each entry unfolds file by file: additions green, removals red. Long diffs are truncated in the view; Copy Diff always gives you the whole thing.

Undo works on two levels
- Undo File – restore a single file to how it was before that one write, and leave the rest of the operation alone.
- Restore – roll back everything a snapshot covers, behind a confirmation.
Either way, HugoKit takes a fresh snapshot of what it’s about to overwrite before restoring – so an undo can itself be undone. There is no step off the ledge.
Per-site settings
At the top of the Snapshots sheet, two controls, per site:
- On or off. Turn the layer off for a site and HugoKit writes straight through, no snapshots kept.
- Versions per file. Retention is counted per file, not per snapshot: a snapshot is only dropped once every file in it has newer versions than the limit. One file you save constantly can’t flush out the only history of a file you touched once.
What this is not
Not a replacement for git, and not a backup of your site – it’s a safety net under the writes HugoKit itself makes. Your repository history is still the record of your project; snapshots are the guarantee that the app never made a change you can’t read, and can’t take back.