Note history and Trash
Every content edit to a note is saved as a version, attributed to whoever made it, so you can see who wrote what, read any earlier version, and roll a note back in one click. Deleting a note is recoverable too: it goes to Trash and stays restorable for 30 days. This works the same whether the edit came from you, from Claude or ChatGPT over MCP, or from the REST API.
How versioning works
Every content edit is recorded as an immutable version. That means changes to the body and to structural fields (title, folder, source URL, favorite, archive state). A summary-only change, where you or an assistant rewrite the summary and nothing else, does not create a version. One deliberate exception: archiving a whole folder flips its notes in bulk and records a single folder-level audit entry instead of a version per note, so retiring a large import does not flood each note's history.
History is append-only. Once its coalescing window closes, a version is never rewritten or removed, so the record stays trustworthy: what you see is exactly what happened, in order.
Rapid successive edits by the same author fold into a single version. When an assistant ticks eight checkboxes in one burst, that reads as one entry, not eight, so a chatty agent never buries the history.
Who edited what
Every version records its author and the surface the edit came through. Authors fall into four kinds:
- You. A signed-in person, shown by email address.
- An AI assistant. An agent connected over MCP, such as Claude or ChatGPT, with the specific client shown where it can be identified.
- The system. Automatic housekeeping, like refreshing a wiki-link's title when the note it points to is renamed.
- A guest. Someone editing through a public link that allows editing, shown by the name they entered.
Each note shows who last wrote it, with a badge that tells a human editor apart from an AI assistant at a glance. That is the heart of write-back trust: you can always see whether a paragraph was you or your assistant.
Viewing a note's history
Open a note's history to see every version, newest first, each with a plain-language summary of what changed and who changed it. Click any version to read the note exactly as it stood at that point.
See the text an assistant changed
Choose an earlier version in History. Hjarni compares that version's note body with the current text, highlighting additions in green and removals in red. The full earlier note appears below the comparison, and the history lists who saved each version.
The comparison covers the note body. Changes to the title, folder, or other fields are described separately in history. It compares the selected version with the current note, so it can include several later edits.
Reverting to an earlier version
Found a version you prefer? Revert to it in one click. Reverting writes a new version rather than erasing anything, so the full history stays intact and you can undo the revert like any other change.
If someone (or an assistant) saved the note after you opened the history, the revert is rejected rather than silently overwriting their work. Re-read the note and try again. The API and MCP tools offer the same conflict guard: a write that sends the version it last read is rejected if the note changed since.
- Open History and choose the earlier version you want to keep.
- Read the highlighted changes and the full earlier note. Restoring replaces the note body with that version. The current title, folder, and other fields stay as they are. You cannot select individual changed lines.
- Click Restore this version and confirm. Open History again to check the new restore entry and the versions that remain.
- In a fresh connected ChatGPT or Claude chat, ask it to retrieve the note again and link to its source. Check its answer against the restored note.
History reviews changes after they are saved. Approval before an assistant writes depends on that assistant's connection and settings. This screen is not a queue of proposed edits.
Deleting is recoverable: Trash
Deleting a note moves it to Trash instead of erasing it. A trashed note keeps its id, its links, its attachments, and its complete history, so restoring it is lossless and inbound [[wiki-links]] survive. Trashed notes are hidden from search and from every normal list.
Notes stay in Trash for 30 days, then are permanently purged. Restore one from the Trash screen any time before then to bring it back exactly where it was. A note deleted together with its folder comes back when you restore the folder. On the Free plan, a restore is refused if it would take you over your note limit.
Where trashed notes live
Trash is scoped the same way notes are, not one shared bin:
- Your personal Trash holds the personal notes you delete.
- Each team has its own separate Trash for that team's notes, visible to the team's members.
Deleting a team note never touches your personal Trash, and deleting a personal note never appears in a team's Trash. The 30-day retention and permanent purge apply everywhere.
Across every surface
History, revert, and Trash are available everywhere you reach your notes, not just the web app:
web- A history screen with a Restore button on each version, and a Trash screen with Restore and Delete permanently.
apiGET /notes/:id/history,POST /notes/:id/revert,GET /notes/trash, andPOST /notes/:id/restore. See the REST API reference.mcp- The
notes-history,notes-revert, andnotes-restoretools, plusnotes-listwithscope: "trashed". Any note an assistant reads reports who last wrote it.
Limitations
- History lives as long as the note. Versions are kept for the life of the note and are removed only when the note itself is permanently purged from Trash. There is no separate history-retention limit.
- Provenance is not a correctness guarantee. History tells you who made an edit and lets you undo it. It does not verify that an assistant wrote the right thing. It is a record and an undo button.
- Rapid same-author edits are coalesced. Changes by one author that each land within 2 minutes of the last are stored as a single version, for up to 10 minutes, by design. History is edit-level, not keystroke-level.
Related
Notes in Markdown
The storage model: body, summary, source URL, tags, links, files, and version history.
Privacy, permissions, and AI boundaries
What Hjarni does, what ChatGPT or Claude does, and what a connection grants.
REST API reference
Authentication, endpoints, and the history, revert, and Trash request shapes.
Give your AI a memory. Free.
Connect Claude or ChatGPT to notes they can actually read and write.
Give your AI a memory. Free.