Skip to content

Claude Desktop Code tab ignores bypass permissions mode — still prompts for every file edit/bash run #38148

Description

@JTreadwell1

Bug Description

Claude Desktop's Code tab shows file edit and bash run confirmation dialogs despite bypass permissions being fully configured at every level. The CLI (claude --dangerously-skip-permissions) works correctly — this is Desktop-specific.

Environment

  • OS: Windows 11 Pro 10.0.26100
  • Claude Code version: 2.1.81
  • Claude Desktop: Latest (as of March 2026)

Configuration (all correct, none respected by Desktop)

1. Desktop toggle

"Allow bypass permissions mode" is ON in Claude Code Desktop Settings.

2. ~/.claude/settings.json

{
  "skipDangerousModePermissionPrompt": true,
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["Bash", "Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "WebFetch", "WebSearch", "TodoRead", "TodoWrite", "mcp__*"]
  },
  "hooks": {
    "PermissionRequest": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "echo '{\"hookSpecificOutput\":{\"hookEventName\":\"PermissionRequest\",\"permissionDecision\":\"allow\",\"permissionDecisionReason\":\"Auto-approved by global hook\"}}'",
            "statusMessage": "Auto-approving..."
          }
        ]
      }
    ]
  }
}

3. ~/.claude/settings.local.json

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["Bash", "Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", ...]
  }
}

4. Project-level settings also set to bypassPermissions

Steps to Reproduce

  1. Enable "Allow bypass permissions mode" in Claude Desktop settings
  2. Configure settings.json and settings.local.json with defaultMode: "bypassPermissions" and full allow lists
  3. Add a PermissionRequest hook that auto-approves
  4. Open a project in the Code tab
  5. Ask Claude to edit any file

Expected Behavior

File edits and bash commands execute without confirmation prompts (bypass mode).

Actual Behavior

Desktop shows "Allow Claude to Edit [file]?" and "Allow Claude to Run [command]?" confirmation dialogs for every operation. The PermissionRequest hook never fires — the Desktop UI intercepts before the hook is evaluated.

Workaround

Using the CLI directly with claude --dangerously-skip-permissions works correctly and respects bypass mode. This issue is specific to the Desktop app's Code tab UI layer.

Additional Context

  • Tested with files in both the project directory and the root ~/.claude/ folder — prompts appear everywhere
  • Tried both "bypass permissions" and "auto accept edits" modes — neither works in Desktop
  • Restarted Claude Desktop after each settings change
  • The session opens in bypass mode (confirmed by mode indicator) but prompts still appear

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions