[BUG] defaultMode: "plan" in settings.json has no effect on session start (Windows, v2.1.72)
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 #2881 (closed July 2025) and is related to issue #33587 (open, filed 2026-03-12)
- The issue may be Windows-specific (also see #17344 regarding Plan mode being skipped in the Shift+Tab cycle on Windows)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗