[BUG] defaultMode: "plan" in settings.json has no effect on session start (Windows, v2.1.72)

Resolved 💬 3 comments Opened Mar 15, 2026 by ahnbu Closed Mar 18, 2026

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

  1. Set \"defaultMode\": \"plan\" inside permissions in ~/.claude/settings.json
  2. Start a new Claude Code session
  3. Observe: Claude Code does NOT start in Plan mode
  4. Manual workaround required: press Shift+Tab or Alt+M every 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

  • /config UI 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)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗