Write permission prompt despite bypassPermissions mode and Write(**) allowlist

Resolved 💬 3 comments Opened Apr 5, 2026 by yves-s Closed Apr 9, 2026

Bug

Claude Code prompts for write permission on a specific file (.claude/.active-ticket) despite:

  1. defaultMode: "bypassPermissions" set in both user-level (~/.claude/settings.json) and project-level (.claude/settings.json) settings
  2. Write(**) explicitly in the allow list at both levels

Expected behavior

No permission prompt for any Write operation, since bypassPermissions mode is active and Write(**) is explicitly allowed.

Actual behavior

A modal dialog appears asking "Allow write to .active-ticket?" with options Yes / Yes, allow all edits this session / No.

Screenshot

The prompt looks like a standard Claude Code permission dialog — not a system/OS-level permission prompt.

Settings

User-level (~/.claude/settings.json):

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": [
      "Write(**)",
      "Edit(**)",
      "Read(**)",
      "Glob(**)",
      "Grep(**)",
      "Bash"
    ]
  }
}

Project-level (.claude/settings.json):

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": [
      "Write(**)",
      "Edit(**)",
      "Read(**)",
      "Glob(**)",
      "Grep(**)",
      "Bash(*)"
    ]
  }
}

Reproduction

  1. Set defaultMode: "bypassPermissions" and Write(**) in both user and project settings
  2. Have Claude Code write to .claude/.active-ticket (a simple text file containing a ticket number)
  3. Permission prompt appears despite settings

Environment

  • Claude Code VSCode extension
  • macOS (Darwin 25.2.0)
  • The file .claude/.active-ticket is a plain text file, not in any restricted path

Notes

This has been observed multiple times across sessions. The workaround is clicking "Yes" each time, but the prompt should not appear at all given the settings.

View original on GitHub ↗

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