Cursor checkpoints: what Restore Checkpoint undoes, what it misses, what to use instead

Cursor checkpoints snapshot the files an Agent changes, so you can roll back a bad edit. They're useful and narrow. Here is what they cover, what they don't, and the backups to keep.

The short answer

Cursor checkpoints are local snapshots of your code that the Agent takes automatically before significant changes, capturing the state of the files it modifies. Restore Checkpoint reverts those files to an earlier point in the chat; it doesn’t remove messages from the conversation.1 Cursor’s docs say to use checkpoints only for undoing Agent changes and to use Git for permanent version control.1

What checkpoints can’t do is undo anything that wasn’t a file edit in your project: a command the Agent ran in the terminal, a row it deleted in a database, a deploy it triggered. Cursor staff have said its file-protection settings only cover deletes done through Cursor’s own tools, and terminal commands can bypass them.2 Keep Git, and keep backups for everything outside the repo.

Every MCP tool call goes through your rules first. Here a delete that doesn’t say which rows is stopped before it reaches the database. These are the rules deedglass init starts with; the call is made up.

What a checkpoint saves

From Cursor’s documentation:1

  • Checkpoints save snapshots of your codebase during an Agent session.
  • The Agent creates them automatically before significant changes, capturing the state of all modified files.
  • You can click a checkpoint in the chat timeline to preview your files at that point, then restore. You can also use the Restore Checkpoint button on an earlier request, or the + button when hovering over a message.
  • Restoring reverts files only. The conversation stays.
  • Checkpoints are stored locally and separately from Git.

That design suits the way most people use Cursor’s Agent: try an approach, look at the diff, and roll back if it went the wrong way. It’s fast because it doesn’t touch Git, and it’s per chat, so it doesn’t pollute your commit history.

It’s also why checkpoints aren’t a backup. They live on one machine, outside version control, tied to a chat.

What restore can’t reach

A checkpoint is a set of file snapshots. Anything the Agent changed that isn’t one of those files is out of its reach by design:

What the Agent did Can Restore Checkpoint undo it?
Edited src/app.ts with its edit tool Yes, that’s what checkpoints are for1
Ran rm -rf build/ or a delete in the terminal Don’t count on it. Staff say shell deletes bypass Cursor’s file protections2
Ran a migration, or DELETE FROM users No. The change is in the database, not your files
Pushed to Git, deployed, called an API No. Those effects are on other systems
Changed files outside the project folder Don’t count on it

The Cursor staff reply we cite was about File-Deletion Protection and External-File Protection. Those settings protect against deletes through Cursor’s built-in tools; terminal commands run directly in the shell, so they can bypass them. The staff member’s suggestion was to turn off auto-run so the Agent asks before every terminal command.2 That’s the honest answer: the protection for shell commands is a person reading them before they run.

This is the same gap we found for other agents’ undo features. Our post on undo for agent sessions compares them, and Cursor agent deleted my files walks through recovery after a shell delete.

When the restore button goes missing

Checkpoints are only useful if you can reach them, and users have reported times when they couldn’t. These are user reports in Cursor’s own forum, not a measure of how often it happens:

  • August 2026, Cursor 3.12.30 on Windows. A user reported the Restore Checkpoint control missing in local Agent chats, while checkpoint folders still existed on disk. Cursor staff said the issue was being tracked; asked on 3 September 2026, staff said it was not yet resolved.3 Staff suggested scrolling up so older turns load, or sending a new message, to bring the control back, and pointed to Local History: Find Entry to Restore as a recovery path that works independently of checkpoints.3
  • August 2025, Cursor 1.4.5. A user reported that after restoring a checkpoint, they couldn’t undo the restore, although the dialog said they could. Staff said they would investigate.4

Software has bugs; that’s not the point. The point is that your only copy of working code shouldn’t depend on one button in a chat pane.

Recovery paths, in order

If the Agent broke something, try these from fastest to slowest:

  1. Restore Checkpoint in the chat, for files the Agent edited in this session.1
  2. Git: git diff to see what changed, git restore <file> for uncommitted damage to tracked files, git reflog if commits were rewritten. Files never committed are much harder to recover.
  3. Local History. Cursor is built on VS Code3, which keeps local history: an entry with the file’s contents each time you save, shown in the Timeline view. By default it’s on, keeps up to 50 entries per file and skips files over 256 KB.5 It only has versions that were saved, so it helps with edits more than with deletes of files you never opened.
  4. Your OS (Time Machine, File History) or your editor’s trash, for deleted files.
  5. Backups and point-in-time restore for anything outside the repo: databases, buckets, cloud resources. If the Agent ran a destructive database command, go here first and fast; see our restore one Postgres table guide.

Set up before you need it

  1. Commit before every Agent task. A clean working tree makes git diff and git restore precise. Checkpoints are for the minutes inside a task; commits are for everything else.1
  2. Turn off auto-run for terminal commands, or keep its allowlist short, so destructive commands wait for you.2
  3. Don’t give the Agent production credentials. A checkpoint can’t undo a database write, so the best protection is not being able to make one. Our checklist before an agent touches production covers the rest.
  4. Check local history settings. If you work with large generated files, the 256 KB default limit means they won’t be kept.5
  5. Push often. A remote copy survives a local delete that takes the .git folder with it.

Questions people ask

Do Cursor checkpoints replace Git?

No. Cursor’s docs say checkpoints are for undoing Agent changes and Git is for permanent version control.1

Does Restore Checkpoint undo terminal commands?

Don’t rely on it. Checkpoints snapshot files the Agent modifies1, and Cursor staff say terminal commands can bypass its file-protection settings.2 Effects outside your files, such as database writes, can’t be reverted by a file snapshot.

Where are Cursor checkpoints stored?

Locally, separately from Git.1 One Windows user found them under Cursor’s global storage folder in AppData.3

To try a gate that stops destructive commands and database writes before they run, open the playground in your browser. To grade what Cursor and your other agents can reach on your own machine, run npx deedglass scan (the grade, explained).

Written with AI assistance and checked against our claims register.

The takeaway

Cursor checkpoints revert files the Agent edited; they can't undo shell deletes, database writes or deploys, and users report the restore button going missing.

Read nextCursor agent deleted my files: what let it, and the settings that stop it Try it: install in 7 s

Related on this site

More posts

Sources

  1. 1Cursor docs: Checkpoints · cursor.com · checked 27 October 2026
  2. 2Cursor forum: staff reply on file protection and terminal commands (March 2026) · forum.cursor.com · checked 27 October 2026
  3. 3Cursor forum: Restore Checkpoint button missing in local Agent chat (August 2026) · forum.cursor.com · checked 27 October 2026
  4. 4Cursor forum: Restore Checkpoint permanently destroys change history (August 2025) · forum.cursor.com · checked 27 October 2026
  5. 5VS Code 1.66 release notes: Local history · code.visualstudio.com · checked 27 October 2026

Published 27 October 2026, sources last checked 27 October 2026. If something here is out of date, write to hello@deedglass.com.

Try it on your own setup

npx deedglass scan

Grades only your own setup. Nothing is uploaded.

Pricing