Development record
A user-visible change reached main with no record, so the derived changelog would not announce it: the guard hook refuses through the host's JSON deny, so a refused command no longer echoes the hook's command line before the guard's message; a question whose only fault is its length is shown with a note to the agent rather than refused; and a new abcd:question-drafter agent drafts abcd's questions so they fit. Merged as 12a5dca2f; iss-2610070637562567 stays open because the host still draws every hook refusal as an error.
issueresolvedminoriss-2610072113549994
A user-visible change reached main with no record, so the derived changelog would not announce it: the guard hook refuses through the host's JSON deny, so a refused command no longer echoes the hook's command line before the guard's message; a question whose only fault is its length is shown with a note to the agent rather than refused; and a new abcd:question-drafter agent drafts abcd's questions so they fit. Merged as 12a5dca2f; iss-2610070637562567 stays open because the host still draws every hook refusal as an error.
Frontmatter
| id | iss-2610072113549994 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610072113549994-a-user-visible-change-reached-main-with.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610070637562567After the hook commands became one-line wrappers, a guard refusal still reaches the person as 'PreToolUse:<tool> hook error: [sh "${CLAUDE_PLUGIN_ROOT}/hooks/pre-tool-use.sh"]: <message>', framed as an error, because the guard blocks by exiting 2 with its message on stderr. Claude Code's hooks reference documents a structured alternative for PreToolUse: exit 0 with hookSpecificOutput.permissionDecision "deny" and permissionDecisionReason on stdout, which blocks the call (a question included) and hands the model only the reason; the command echo in front of an exit-2 message is not documented at all. Unverified here: the guide that reported it worked from summarised documentation.