[BUG] Claude Desktop: permissions.defaultMode=bypassPermissions in settings.json stopped being honored (regression — worked previously)

Open 💬 1 comment Opened Jul 7, 2026 by munk2207

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Environment:

  • Windows 11 Pro
  • Running inside Claude Desktop (env var CLAUDE_CODE_ENTRYPOINT=claude-desktop)
  • CLAUDE_AGENT_SDK_VERSION=0.3.202

Issue:
For many past sessions, setting "defaultMode": "bypassPermissions" in
.claude/settings.json worked correctly and permission prompts did not appear.
As of this week, permission prompts appear on ordinary tool calls (e.g. a
simple Bash command) despite this setting being correctly present.

Confirmed facts:

  • "permissions": { "defaultMode": "bypassPermissions" } is set in BOTH

~/.claude/settings.json (user/global) and the project's
.claude/settings.local.json

  • Both files are valid JSON (parsed successfully, no syntax errors)
  • No managed-settings.json exists anywhere on the machine (checked all

standard Windows locations: C:\ProgramData\ClaudeCode\,
%APPDATA%\Claude\, %APPDATA%\Claude Code\, %LOCALAPPDATA%\ClaudeCode\,
%LOCALAPPDATA%\Claude\ — none present, so this is not an enterprise
policy override)

  • The app UI shows a "Manual permissions" label, indicating the session

is actually running in the default/manual (ask-every-time) mode, not
bypassPermissions

  • Problem persists across brand-new sessions started after confirming

the settings files — this is not a stale-session/config-not-reloaded
issue

  • No UI control was found (via Shift+Tab or elsewhere) to manually

switch the session's permission mode from inside Claude Desktop

Ask:
Please confirm whether Claude Desktop is expected to read
permissions.defaultMode from settings.json the same way the terminal
CLI does, and if so, why it is not taking effect. This previously
worked reliably across many sessions and has regressed.

What Should Happen?

Claude Desktop should honor "defaultMode": "bypassPermissions" set in
settings.json and skip permission prompts, the same way it did across
many previous sessions before this regressed.

Error Messages/Logs

Steps to Reproduce

  1. Set "permissions": { "defaultMode": "bypassPermissions" } in both

~/.claude/settings.json (global) and the project's
.claude/settings.local.json

  1. Confirm both files are valid JSON (no syntax errors)
  2. Start a brand-new session in Claude Desktop on Windows
  3. Ask Claude to run any ordinary Bash command (e.g. command -v ffmpeg)
  4. A permission prompt ("Allow Claude to run X?" with Deny / Always

allow / Allow once) appears anyway — even though defaultMode is set
to bypassPermissions and no managed-settings.json exists anywhere
on the machine (checked all standard Windows locations)

This exact settings-file configuration worked correctly (no prompts)
across many prior sessions. The behavior has regressed recently.

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Sonnet 5

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗