[BUG] Bash(git tag:*) auto-approved despite not being in permissions allow list
Resolved 💬 7 comments Opened Feb 26, 2026 by l4l Closed May 1, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bash commands that are not listed in permissions.allow are auto-approved without prompting the user. Specifically, git tag commands executed without any permission prompt, even though only Bash(git diff:) and Bash(git show:) are in the allow list.
What Should Happen?
Commands not matching any pattern in permissions.allow should prompt the user for approval before execution. git tag, git fetch, git add, and git reset --hard should all require explicit approval since they are not in the allow list.
Error Messages/Logs
Steps to Reproduce
- Create empty git repo with the following .claude/settings.local.json:
{
"permissions": {
"allow": [
"Bash(grep:*)",
"Bash(sort:*)",
"Bash(ls:*)",
"Bash(cargo check:*)",
"Bash(find:*)",
"Bash(git diff:*)",
"Bash(git show:*)",
"Bash(fd:*)"
]
}
}
- Ask Claude
try run "git tag xyz" - Observe that git tag xyz executes without any permission prompt
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.59
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
Xterm
Additional Information
_No response_
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗