How do I switch permission modes with Shift+Tab?
default → acceptEdits → plan The base cycle. Optional modes slot in after plan when enabled.
Answer
Press Shift+Tab in a running session to cycle modes. The base cycle is default → acceptEdits → plan. Optional modes slot in after plan: bypassPermissions first, then auto. bypassPermissions appears only if the session was started with it, auto only if your account qualifies, and dontAsk never appears at all — a session has to start in it.
What it does
Shift+Tab changes the permission mode of a running session. There is no command for this and asking Claude in chat does not work — it is a key press.
The base cycle is three modes:
default → acceptEdits → plan
The status bar names the active mode: a grey ⏸ manual mode on for default, or ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on, ⏵⏵ bypass permissions on.
Optional modes slot in after plan, with bypassPermissions first and auto last. Whether they appear at all depends on how the session started and what your account allows:
bypassPermissions— appears after you start with
--permission-mode bypassPermissions, --dangerously-skip-permissions, --allow-dangerously-skip-permissions, or permissions.defaultMode set to it. The --allow- variant adds the mode to the cycle without activating it.
auto— appears when your account meets the auto mode requirements, and
cycling into it takes effect immediately.
dontAsk— never appears, on any account. Start the session in it with
--permission-mode dontAsk or permissions.defaultMode.
The cycle wraps: from whichever mode is last for your session, the next press returns to default.
When to use it
Switching mid-session fits the shape of real work, which rarely stays at one level of risk:
- plan while you work out an unfamiliar change, then accept edits to apply it
- drop to
defaultbefore a step you want to watch - move up to
acceptEditsonce a batch of edits turns mechanical
Doing this by key press rather than restarting keeps the conversation, which is usually the expensive part of the session.
Example
Add bypassPermissions to the cycle without starting in it:
claude --allow-dangerously-skip-permissions
The session starts in your normal mode; pressing Shift+Tab past plan can now reach bypass.
Start in plan mode and cycle out when ready:
claude --permission-mode plan
Set dontAsk, which no amount of pressing will reach:
claude --permission-mode dontAskCommon mistakes
Expecting all six modes in the cycle. Three are always there. Two are conditional. One is never there.
Asking Claude to change the mode. Chat does not control the permission mode. Use the key press — or, in VS Code, the desktop app and claude.ai, the mode dropdown next to the message box, which offers the same list.
Thinking --allow-dangerously-skip-permissions starts in bypass. It only puts the mode in the cycle. The session starts normally.
Assuming auto is missing by mistake. If your account does not meet the requirements, the mode is not in the cycle and no key press will produce it. See auto permission mode for what those requirements are.