"Bypass permissions" UI toggle does not set defaultMode in settings.json — prompts persist

Resolved 💬 3 comments Opened Apr 5, 2026 by redrazzo Closed Apr 9, 2026

Bug

The "Bypass permissions" / "Accept all permissions" toggle in the Claude Code UI does not write "defaultMode": "bypassPermissions" to the settings files. This means users who enable the toggle still get permission prompts on every command not individually whitelisted.

Expected Behavior

When a user enables "Bypass permissions" in the UI, settings.json should contain:

{
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}

And no further permission prompts should appear for any tool use (Bash, Read, Edit, Write, etc.).

Actual Behavior

  • The UI toggle appears enabled (checkmark visible)
  • settings.json has no defaultMode field — it stays on "default" mode
  • Every bash command that doesn't match a previously-allowed exact string triggers a permission prompt
  • Each time the user clicks "Allow once", that exact command string gets appended to the allow list in .claude/settings.local.json
  • Over time this creates a massive list of 90+ individually whitelisted commands, but any new command still prompts

Steps to Reproduce

  1. Open Claude Code settings
  2. Enable "Bypass permissions" / "Accept all permissions"
  3. Start a session
  4. Run any bash command (e.g., netstat -ano | findstr :8081)
  5. Observe: permission prompt appears despite the toggle being ON
  6. Check ~/.claude/settings.json — no defaultMode field exists

Workaround

Manually add to both ~/.claude/settings.json and .claude/settings.local.json:

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["Bash(*)"]
  }
}

Impact

This is a severe UX issue. Users who click "accept all permissions" expect exactly that. Instead they get interrupted repeatedly, which breaks flow and makes the tool feel broken. The disconnect between what the UI says and what the config does is confusing and frustrating.

Environment

  • Claude Code on Windows 11
  • Claude Opus 4.6
  • Latest auto-updates channel

View original on GitHub ↗

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