[FEATURE] Being able to whitelist any parameter value in Permissions
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Opus 4.6 started calling all git commands like this:
git -C <repository_root> commit
In my Permissions I have:
Bash(git commit:*)
Claude keeps asking for approval.
Proposed Solution
I'd like to be able to set permissions like this:
Bash(git -C ? commit:*)
This would mean that git commit is allowed with any -C parameter value. The reason to use ? is to differentiate it from * which means "anything, one, none, multiple". Where ? means exactly one value.
This would be also useful for things like allowing
yarn workspace @some/workspace lint
Currently this can't be allowed for all workspace values safely and needs to be added one-by-one
Alternative Solutions
Claude offers "Yes, and don't ask again for similar commands in <dir>" but it's repetitive and annoying when using worktrees and it's not obvious what exactly will claude add (will it allow all git commands? Will it just allow git commit with -c?).
Another alternative solution would be to treat -C as "any parameter" that is allowed via git commit:*, but that sounds like it may have some weird security implications.
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
- let there be repository
/tmp/repo - let there be
git commit:*allowed in permissions - create worktree from the repository
- make the agent want to run git commit
- agent calls Bash
git -C /tmp/repo commit - agent asks for approval, even though
git commit:*is allowed
Additional Context
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗