Bypass permissions mode spontaneously switches to Plan Mode mid-session
Resolved 💬 4 comments Opened Mar 27, 2026 by briborg Closed Apr 26, 2026
Description
Sessions configured with "defaultMode": "bypassPermissions" spontaneously switch to Plan Mode (approval-required mode) mid-session without any user action. The user has to manually exit Plan Mode and switch back to bypass permissions repeatedly.
Environment
- Claude Code version: 2.1.85
- OS: macOS (Darwin 25.3.0)
- Shell: zsh
- Plugins installed: compound-engineering (EveryInc), last30days, pagerduty, code-simplifier
- Skills installed: gstack (multiple skills reference Plan Mode handling)
Configuration
Global ~/.claude/settings.json includes:
{
"permissions": {
"defaultMode": "bypassPermissions"
},
"skipDangerousModePermissionPrompt": true
}
No project-level settings override defaultMode.
Steps to Reproduce
- Start a Claude Code session in bypass permissions mode
- Run various commands/requests (exact trigger unknown — happens intermittently)
- Session switches to Plan Mode (edit approval required) without the user pressing Shift+Tab or invoking any plan-related command
What Happens
- The session silently enters Plan Mode
- All subsequent tool calls require user approval
- User must manually exit Plan Mode and re-enable bypass permissions
- Happens repeatedly across different sessions and projects
Investigation Done
- Confirmed no hooks trigger
EnterPlanMode - Confirmed no installed skills call
EnterPlanMode(they handle being in plan mode but don't enter it) - Removed project-level
permissionsblocks that lackeddefaultMode(potential conflict with global bypass) - Shift+Tab (plan mode toggle) is not being pressed accidentally
- Issue persists across multiple projects
Expected Behavior
Bypass permissions mode should remain active for the entire session unless the user explicitly changes it.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗