Desktop app v1.9255.2 (CCD 2.1.149): Bypass Permissions mode fails — session not launched with --dangerously-skip-permissions
Bug Description
In Claude Code desktop app v1.9255.2 (CCD 2.1.149) on Windows 11, selecting Bypass Permissions mode at session start fails silently and downgrades to Accept Edits every time.
Steps to Reproduce
- Open Claude Code desktop app
- Select Bypass Permissions from the permission mode selector (bottom left)
- Start a new session / send first message
- Session immediately downgrades to Accept Edits with the UI error: 'Bypass Permissions mode isn't enabled. The session started in Accept Edits — enable Bypass Permissions in Settings to use it.'
Expected Behaviour
Session runs in Bypass Permissions mode without prompting for tool approvals.
Actual Behaviour
Session downgrades to Accept Edits on first prompt. Tool permission prompts appear normally.
Root Cause (from app logs)
\\\
[CCD] LocalSessions.setPermissionMode: sessionId=local_..., mode=bypassPermissions
[error] [CCD] Failed to set permission mode for session local_...: Cannot set permission mode to
bypassPermissions because the session was not launched with --dangerously-skip-permissions
[CCD] Downgrading session local_... bypassPermissions
\\\
The app calls \setPermissionMode\ after spawning the CLI subprocess, but the CLI requires \--dangerously-skip-permissions\ to be passed at launch time. The desktop app is not passing this flag when spawning sessions in bypass permissions mode.
Environment
- OS: Windows 11 Home 10.0.26200
- App version: 1.9255.2
- CCD version: 2.1.149
- Install type: Microsoft Store (WindowsApps)
Configuration (all correctly set — not a config issue)
- \~/.claude/settings.json\: \permissions.defaultMode = bypassPermissions\
- \.claude/settings.local.json\: \permissions.defaultMode = bypassPermissions\
- \claude_desktop_config.json\: \ypassPermissionsOptInByAccount = true\, \ypassPermissionsGateByAccount = true\, folder permission mode = bypassPermissions
Workaround
Running \claude --dangerously-skip-permissions\ directly from the terminal works correctly. The issue is specific to how the desktop app spawns sessions.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗