Bash:* wildcard permission not working in settings.local.json

Resolved 💬 4 comments Opened Jul 13, 2025 by o2alexanderfedin Closed Jul 13, 2025

Description

The "Bash:*" wildcard permission in .claude/settings.local.json does not allow all bash commands as expected. Even with this permission set, Claude still prompts for approval for individual bash commands.

Steps to Reproduce

  1. Add "Bash:*" to the allow list in .claude/settings.local.json
  2. Restart Claude
  3. Try to run any bash command (e.g., ls, cp, etc.)
  4. Claude still shows permission prompt

Expected Behavior

"Bash:*" should allow all bash commands without prompting for permission.

Actual Behavior

Permission prompts still appear for each bash command, requiring manual approval or selection of option 2 to allow commands for specific directories.

Configuration

{
  "permissions": {
    "allow": [
      "Bash:*",
      "Read",
      "Write",
      "Edit",
      "MultiEdit",
      "Glob",
      "Grep",
      "LS",
      "TodoRead",
      "TodoWrite",
      "WebFetch",
      "WebSearch",
      "NotebookRead",
      "NotebookEdit",
      "Task",
      "exit_plan_mode",
      "mcp__*"
    ],
    "deny": []
  }
}

Environment

  • OS: macOS
  • Claude Code installation via official app

Additional Context

This appears to be a bug in how Claude interprets the wildcard permission syntax. The mcp__* wildcard works correctly for MCP tools, but Bash:* does not work for bash commands.

View original on GitHub ↗

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