Claude Code has permission modes you can cycle through with Shift+Tab.
The default mode asks before any risky operation. Use this when you're working on something unfamiliar or letting Claude run loose on a large codebase.
Accept Edits mode ( Shift+Tab press) auto-approves file edits but still asks for shell commands. It's the right setting for focused coding sessions where you trust the task scope.
Plan mode ( Shift+Tab presses) makes Claude read-only. I'll use this one when I want to see what Claude would do before letting it touch anything. It can explore files and tell you what it would do, but it won't change anything. You can also start directly in plan mode with claude --permission-mode plan.