Skip to content
Guide

How to restore a deleted entry in Statamic

Short answerStatamic has no trash: Delete removes the item for good. On a flat-file site you can often get it back from git; on a database site you need a backup. A trash addon makes it one click for editors.

Updated 2026-10-20

Why there is no undo

When an editor deletes an entry, term, asset, global set or form submission in Statamic's Control Panel, it is removed for good. There is no trash and no undo, and an entry's revisions are removed with it.

Where the content can come back from depends on how the site stores it: as files in content/ (the default, flat files) or as rows in a database (the Eloquent driver).

Flat-file site with git

If the site's content is in a git repository and the item was committed before it was deleted, git still has it.

  1. Find the commit that deleted the file. This lists every commit that removed something under content/collections, with the file names:
git log --diff-filter=D --name-only -- content/collections/
  1. Restore the file from the commit before that one, using the commit and the path from step 1:
git checkout <commit>~1 -- content/collections/pages/about-us.md
  1. Let Statamic pick the file up again:
php please stache:refresh

Terms live in content/taxonomies, globals in content/globals and form submissions in storage/forms. Assets are restored the same way from wherever the container keeps its files, if those files are in git. A page's place in the tree is stored in the structure file, so a restored page may need to be put back in the tree by hand.

Database site (Eloquent driver)

With the Eloquent driver, a deleted entry is a deleted database row. There is no git history to fall back on, so the only way back is your database backup: restore it to a copy and move the row across, or restore the whole database if nothing else has changed since.

Give editors a trash

Karelia Trash keeps a copy of everything deleted in the Control Panel, on flat-file and database sites alike, so getting it back no longer needs git, a backup or a developer.

  1. Install it in your site's folder: composer require karelialabs/statamic-trash.
  2. Delete as usual. Everything deleted in the Control Panel goes to Tools → Trash.
  3. Open the trash, click an item to preview it, and choose Restore.
Statamic Control Panel with Tools → Trash open: six deleted items with type, location, who deleted them and when
The trash under Tools in Statamic 6
  • A page comes back to the same place in the page tree, and the child pages Statamic moved up go back under it.
  • An entry and its translations, or every asset in a deleted folder, come back in one go.
  • Nothing is overwritten: a taken slug gets a number, a file name in use gets -restored.
  • Items are removed for good after 30 days, or the period you choose.

What a trash cannot do

  • Bring back something deleted before it was installed, or deleted outside Statamic (directly on disk or by git).
  • Replace revisions: it keeps the last saved version of what was deleted, not its history. Revisions are a Statamic Pro feature.
  • Replace backups. Keep them anyway.

FAQ

Does Statamic have a trash or recycle bin?

No. Deleting in the Control Panel removes the item for good. Karelia Trash adds one under Tools.

Can I get a deleted entry back from revisions?

No. An entry's revisions are removed together with the entry.

I deleted a page on a flat-file site without git. What now?

Restore the file from a server backup, put it back in content/collections, and run php please stache:refresh.

Does the git method work for assets?

Only if the asset files themselves are committed. Many sites keep uploads out of git, and then only a file backup has them.

More guides