-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Closed as duplicate
Closed as duplicate
Copy link
Labels
duplicateThis issue or pull request already existsThis issue or pull request already exists
Description
Bug Report
Description
Setting \"defaultMode\": \"plan\" inside the permissions object in ~/.claude/settings.json has no effect. Claude Code does not start in Plan mode automatically — the user must press Shift+Tab (or Alt+M) every session to manually switch to Plan mode.
Environment
- Claude Code version: 2.1.72
- OS: Windows (MSYS_NT-10.0-26200)
- Shell: bash (MSYS2)
Configuration
~/.claude/settings.json (relevant excerpt):
```json
{
"permissions": {
"defaultMode": "plan",
...
}
}
```
The setting is correctly placed inside the permissions object as documented.
Steps to Reproduce
- Set
\"defaultMode\": \"plan\"insidepermissionsin~/.claude/settings.json - Start a new Claude Code session
- Observe: Claude Code does NOT start in Plan mode
- Manual workaround required: press
Shift+TaborAlt+Mevery session
Expected Behavior
Claude Code should automatically start in Plan mode when permissions.defaultMode is set to \"plan\".
Actual Behavior
Claude Code starts in the default (normal) mode regardless of the defaultMode setting. The user must manually switch to Plan mode via Shift+Tab every session.
Additional Context
/configUI correctly shows "Default permission mode: Plan" — the setting appears to be read, but not applied at session start- This appears to be a regression or continuation of issue [BUG] When ~/.claude/settings.json has "defaultMode": "plan" it has no effect #2881 (closed July 2025) and is related to issue auto mode temporarily unavailable - cannot enter auto mode via Shift+Tab or defaultMode setting #33587 (open, filed 2026-03-12)
- The issue may be Windows-specific (also see Plan mode missing from mode cycle on Windows - Shift+Tab only toggles to auto-accept #17344 regarding Plan mode being skipped in the Shift+Tab cycle on Windows)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
duplicateThis issue or pull request already existsThis issue or pull request already exists