How Claude Code works changedhow-claude-code-works
Nearest release: v2.1.234, published 8 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+5added
Lines−5removed
From line
146
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits18to this page, all time
The whole hunk
from line 146, old and new numbered
/
from line 146
146146
147147**File edits are reversible.** Before Claude edits a file, it snapshots the current contents. If something goes wrong, press `Esc` twice to rewind to a previous state, or ask Claude to undo.
148148
149Checkpoints are separate from git and remain available when you resume a conversation. They only cover file changes, and a restore [skips symlinked and hard-linked files](/docs/en/checkpointing#symlinked-and-hard-linked-paths-not-restored). Actions that affect remote systems (databases, APIs, deployments) can't be checkpointed, which is why Claude asks before running commands with external side effects.
149Checkpoints are separate from git and remain available when you resume a conversation. They only cover file changes, and a restore [skips symlinked and hard-linked files](/docs/en/checkpointing#symlinked-and-hard-linked-paths-not-restored). Actions that affect remote systems (databases, APIs, deployments) can't be checkpointed. You control those with your permission mode and permission rules.
150150
151151### Control what Claude can do
152152
153Press `Shift+Tab` to cycle through permission modes:
153Choose a permission mode to set what Claude can do without asking you. Press `Shift+Tab` to cycle through the permission modes:
154154
155* **Auto**: a classifier reviews most actions in the background and blocks the risky ones instead of asking you. On Pro, Max, and Team plans, it's the [built-in starting permission mode](/docs/en/permission-modes#which-mode-a-session-starts-in) for interactive terminal and VS Code sessions
155156* **Manual**: Claude asks before file edits and shell commands
156157* **Accept edits**: Claude edits files and runs common filesystem commands like `mkdir` and `mv` without asking, still asks for other commands
157158* **Plan**: Claude explores and proposes a plan without editing your source files
158* **Auto**: Claude evaluates all actions with background safety checks
159159
160160You can also allow specific commands in `.claude/settings.json` so Claude doesn't ask each time. This is useful for trusted commands like `npm test` or `git status`. Settings can be scoped from organization-wide policies down to personal preferences. See [Permissions](/docs/en/permissions) for details.
161161
from line 224
224224
225225### Explore before implementing
226226
227For complex problems, separate research from coding. Use plan mode (`Shift+Tab` twice) to analyze the codebase first:
227For complex problems, separate research from coding. Press `Shift+Tab` until the status bar shows `⏸ plan mode on`, then ask Claude to analyze the codebase first:
228228
229229```text theme={null}
230230Read src/auth/ and understand how we handle sessions.
No line in this hunk matches that.