What the reviewer found
PreToolUse on Bash runs .claude/hooks/pre-bash-guard.js, a deny-only guard that rejects a few bun-repo commands (direct rustfmt, bun bd under timeout, bun test without USE_SYSTEM_BUN=1, bun bd test with no file); PostToolUse on Write|Edit|MultiEdit runs .claude/hooks/post-edit-format.js, which calls ./node_modules/.bin/prettier on the edited file. Both read only stdin JSON, never rewrite commands, and make no network calls.
broad-matcher— intercepts every tool call
What was read
The hook definition and the 2 scripts it runs, fetched from oven-sh/bun:
.claude/settings.json.claude/hooks/pre-bash-guard.js.claude/hooks/post-edit-format.js
What the static scan said
The 26-rule scan found nothing in this file; the review read it anyway.
How this review was made
Fable 5.1 read the files above on 7 September 2026 and answered three questions: is it dangerous to whoever installs it, is each scanner finding real, and what should the installer know. The verdict is bound to the file's hash; when the file changes, it is scanned afresh and reviewed again. A script that changes while the definition does not is not re-reviewed — that is a known gap. How the scan and the review work.