You add allowed-tools: Bash(git add *) Bash(git commit *) to a skill. You type /commit, and Claude stages and commits without asking. You send one more message, ask for another commit — and the permission prompt is back.
Nothing broke. allowed-tools did exactly what it is specified to do. It is just narrower than the name suggests.
The one-line version
allowed-tools pre-approves the listed tools for the turn that invokes the skill. That is the entire scope. The docs are explicit about the expiry: the grant "clears when you send your next message."
Invoking the skill again re-applies it for that turn. So /commit, then a follow-up message asking Claude to commit again, are two different worlds: the first is covered, the second is not.






