Skip to content

Commit c40cc8b

Browse files
committed
chore(settings): remove gh workflow run|dispatch from deny
Permission rules evaluate deny → ask → allow with deny always winning, so the release-workflow-guard hook's verifiable dry-run bypass couldn't actually fire — the settings-layer deny rejected the command before the hook ran. The hook is now the single source of truth for the dispatch policy: blocks by default, allows only when -f dry-run=true is explicit, the workflow YAML declares a dry-run input, and no force-prod overrides are set. The hook reads the workflow file from $CLAUDE_PROJECT_DIR or the matching sibling clone. Removed entries: Bash(gh workflow run:*) Bash(gh workflow dispatch:*) Other deny rules (gh release create/delete, git push --force, *publish) are unchanged — those have no dry-run analog and the hook doesn't cover them.
1 parent 1fe8d5c commit c40cc8b

1 file changed

Lines changed: 0 additions & 2 deletions

File tree

.claude/settings.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@
5959
"deny": [
6060
"Bash(gh release create:*)",
6161
"Bash(gh release delete:*)",
62-
"Bash(gh workflow dispatch:*)",
63-
"Bash(gh workflow run:*)",
6462
"Bash(git push --force:*)",
6563
"Bash(git push -f:*)",
6664
"Bash(npm publish:*)",

0 commit comments

Comments
 (0)