Bash permission patterns with `:*` suffix not auto-allowing commands
Resolved 💬 3 comments Opened Jan 23, 2026 by lmcafee-nvidia Closed Jan 27, 2026
Bash permission patterns with :* suffix not auto-allowing commands
Description
Bash permission rules using the :* (prefix matching with word boundary) syntax in ~/.claude/settings.json still prompt for permission when they should auto-allow.
Steps to Reproduce
- Add the following to
~/.claude/settings.json:
{
"permissions": {
"allow": [
"Bash(ls:*)",
"Bash(pwd)"
]
}
}
- Start a Claude Code session
- Ask Claude to run
lsorls -la - Observe that permission is still requested despite the rule
Expected Behavior
According to the documentation, Bash(ls:*) should match:
ls(end-of-string after prefix)ls -la(space after prefix)ls -l(space after prefix)
And should NOT match:
lsof(no word boundary)
Commands matching allowed patterns should execute without prompting.
Actual Behavior
Commands that should match Bash(ls:*) still prompt for user permission.
Environment
- Claude Code version: 2.1.15
- OS: Linux (Ubuntu)
- Settings location:
~/.claude/settings.json
Additional Context
- No local
.claude/settings.jsonin the project directory that could override - Other patterns in the allow list (exact matches like
Bash(pwd)) may also be affected - The
:*suffix is documented to enforce word boundary matching
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗