Shift+Tab: Switch Claude Code Permission Modes on the Fly
Cycle between permission modes mid-session without restarting. Go from cautious to autonomous and back with one keyboard shortcut.
What is it
Claude Code has different permission modes that control how much it can do without asking you first. Shift+Tab lets you switch between these modes mid-session. No restart, no flags, no config changes. Just press the shortcut and the mode changes immediately.
Claude Code permission modes docs
What problems it solves
You start a session in default mode because you want to review everything Claude does. It reads some files, you approve a few edits, things look good. Now you trust where it's going and you're tired of clicking "Yes" on every file edit. Instead of restarting with a different flag, you hit Shift+Tab to switch to auto-accept edits and let Claude finish the job.
Or Claude is about to do something big (restructure a module, delete files, run a migration). You want to pause and think. Hit Shift+Tab twice to switch into Plan Mode. Now Claude can only read and analyze, not change anything. Review the plan, and when you're ready, switch back.
How to use it
While Claude Code is waiting for your input, press Shift+Tab. You'll see the mode change in the status bar at the bottom of your terminal. Keep pressing to cycle through:
Default → Accept Edits → Plan Mode → back to Default
Here's what each mode does:
- Default: Claude asks before editing files and running commands. The safe starting point.
- Accept Edits (
⏵⏵ accept edits on): Claude edits files without asking, but still prompts for shell commands. Good when you trust the code changes but want to review commands. - Plan Mode (
⏸ plan mode on): Read-only. Claude can analyze your codebase and make a plan, but can't change anything. Good for research, code review, or when you want to think before acting.
Pro tips
Plan Mode is great as a starting point for complex tasks. Switch into it, describe what you want, let Claude research the codebase and propose a plan. Review the plan, ask questions, refine it. Then switch back to Default or Accept Edits and say "go." Claude already has all the context and knows exactly what to do.
You can also set a default mode in .claude/settings.json so every session starts the way you want:
{
"permissions": {
"defaultMode": "plan"
}
}