You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tooling(hooks): the guards' escape hatch names where it actually works (#15987)
Every guard's refusal ended by telling the reader to re-run the blocked thing with
OS_ALLOW_*=1 as a command prefix. A VAR=1 prefix sets the variable in the environment
of THAT COMMAND; the hook is not that command, and it reads the variable from its own
environment — so the one place an operator naturally applies the printed remedy is the
one place it cannot work, and a remedy that does not work is an invitation to route
around the guard.
The hatch stays: it is the repo's sanctioned deliberate exception, named in CLAUDE.md.
What changes is that the sentence now names the environment the hook actually reads and
says plainly that a prefix never reaches it. One wording, byte-identical across all six
message sites, so the objectui twins can mirror it mechanically.
Message text only — no predicate, no env check, no block/allow verdict is touched. Each
matrix gains the absence assertion (the dead prefix remedy is gone) and its positive twin
(the sentence names the environment the hook reads); the Bash matrix also pins the card's
own reproduction, that the prefix spelled as the old message told the reader to spell it
still blocks.
Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments