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
- Add
"Bash:*" to the allow list in .claude/settings.local.json
- Restart Claude
- Try to run any bash command (e.g.,
ls, cp, etc.)
- 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.
Description
The
"Bash:*"wildcard permission in.claude/settings.local.jsondoes not allow all bash commands as expected. Even with this permission set, Claude still prompts for approval for individual bash commands.Steps to Reproduce
"Bash:*"to the allow list in.claude/settings.local.jsonls,cp, etc.)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
Additional Context
This appears to be a bug in how Claude interprets the wildcard permission syntax. The
mcp__*wildcard works correctly for MCP tools, butBash:*does not work for bash commands.