Checkpoints and permission modes
Every file edit is reversible. Before Claude edits any file, it snapshots the current contents. Press Esc twice to rewind, or ask Claude to undo. Checkpoints are local to your session and separate from git — they only cover file changes. Actions with external side effects (databases, APIs, deployments) can't be checkpointed, which is why Claude asks first.
Press Shift+Tab to cycle permission modes:
| Mode | Behavior |
|---|---|
| Default | Claude asks before file edits and shell commands |
| Auto-accept edits | Edits files and runs common filesystem commands (mkdir, mv) without asking |
| Plan mode | Explores and proposes a plan without editing source files |
| Auto mode | Evaluates all actions with background safety checks (research preview) |
You can also allow specific trusted commands in .claude/settings.json so Claude doesn't ask each time:
{ "permissions": { "allow": [ "Bash(npm test *)", "Bash(git status)" ], "deny": [ "Bash(rm -rf *)" ] }}Check your understanding
Section titled “Check your understanding”Question 1What can checkpoints NOT undo?
Checkpoints snapshot files only; external side effects can't be rewound — hence permission prompts.
Question 2Which keystroke cycles permission modes?
Shift+Tab cycles Default → Auto-accept → Plan → (Auto).
Question 3What does Plan mode do?
Plan mode is for analysis before implementation; permission prompts still apply as in default mode.