Repository navigation
allowed-tools: Bash(openspec:*) - narrower pattern for generated skills/commands?
#1343
Replies: 2 comments
|
Hey @fraction01, thanks for the question. Worth noting allowed-tools only pre-approves, it never restricts, so the wildcard trades prompts for convenience but doesn't grant anything your permission settings wouldn't. The proposed narrow list would also miss subcommands the generated skills actually run (openspec archive, openspec feedback, openspec store), so the archive skill would start prompting again; if the wildcard feels too broad for your setup you can deny specific patterns in your own .claude/settings.json, and feel free to open an issue if you think the default should be tightened. |
|
Answered above by @clay-good. Short version:
The narrower list would also break real flows: the generated skills call If the wildcard is too broad for your setup, deny specific patterns in your own Closing as answered — reopen if you'd like to take the default-tightening further. |
Uh oh!
There was an error while loading. Please reload this page.
After updating to 1.6.0, I asked the Claude Code to review the changes and got this feedback about the
allowed-tools: Bash(openspec:*)addition:Is this a real risk in practice, or is the blanket wildcard fine as-is? If it is worth tightening, would narrowing the pattern to only the subcommands the generated skills/commands actually call make sense — something like:
allowed-tools: Bash(openspec status:*), Bash(openspec list:*), Bash(openspec show:*), Bash(openspec validate:*), Bash(openspec instructions:*), Bash(openspec new change:*), Bash(openspec schemas:*), Bash(openspec doctor:*), Bash(openspec context:*), Bash(openspec store list:*)This still pre-approves everything used today, while leaving the destructive subcommands (
store remove,config set/reset,archive,update) behind the normal permission prompt.All reactions