Desktop app ignores permissions.defaultMode: bypassPermissions — session starts in Accept Edits and can't be switched

Resolved 💬 2 comments Opened May 23, 2026 by hermanc1 Closed May 23, 2026

Summary

On the Claude Desktop app, sessions ignore permissions.defaultMode: "bypassPermissions" from settings and instead start in Accept Edits mode. Attempting to switch the permission mode in-session fails.

Environment

  • Entrypoint: claude-desktop
  • Claude Desktop: 1.8555.2
  • Claude Code: 2.1.149
  • Agent SDK: 0.3.149
  • OS: Windows 11 Home (10.0.26200)

What happens

defaultMode is set to bypassPermissions in both user and project settings, the desktop "Allow bypass permissions mode" toggle is ON, and there is no managed policy or environment variable overriding it. Despite this, every session starts in Accept Edits.

Trying to switch modes in-session produces:

  • Permission mode couldn't be changed. You can try again.
  • Bypass Permissions mode isn't enabled. The session started in Accept Edits — enable Bypass Permissions in Settings to use it.

Configuration (verified correct)

| Layer | defaultMode |
|-------|--------------|
| User ~/.claude/settings.json | bypassPermissions |
| Project .claude/settings.json | (hooks only, no mode set) |
| Project .claude/settings.local.json | bypassPermissions |
| Managed/enterprise policy | none exists |
| Environment variables | none forcing a mode |

User ~/.claude/settings.json (relevant portion):

{
  "permissions": { "defaultMode": "bypassPermissions" },
  "skipDangerousModePermissionPrompt": true
}

Already ruled out

  • Managed-settings override — no managed-settings.json exists (checked C:\ProgramData\ClaudeCode\).
  • Environment variables — none set that force a permission mode.
  • Config typos — settings verified valid and consistent across all layers.
  • Restart — restarting the app and rebooting the OS had no effect.
  • Toggling "Allow bypass permissions mode" off/on and starting a fresh (non-resumed) chat — no effect.

Expected behavior

A session should start in bypassPermissions when permissions.defaultMode is set to bypassPermissions and the desktop "Allow bypass permissions mode" capability is enabled.

Actual behavior

Session starts in Accept Edits and cannot be switched to Bypass Permissions.

View original on GitHub ↗

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