Claude Code✓ 공식 문서로 확인10월 8일
훅 스크립트가 죽으면 동작을 막게 한다, onFailure block 한 줄
지금까지 훅이 시작조차 못 하거나 타임아웃이 나면 Claude Code는 그 동작을 그냥 통과시켰다. 보호 파일을 막으려고 둔 훅이 jq가 없어서 실패하면 보호도 사라졌다는 뜻이다. v2.1.295(10월 8일)부터 command·HTTP 훅에 onFailure: "block"을 주면 실패가 곧 차단이 된다.
// .claude/settings.json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": ".claude/hooks/protect-files.sh", "onFailure": "block" }
]
}
]
}
}
이 키는 10월 8일 changelog에만 있고 훅 참조 문서에는 아직 안 올라왔다. 넣은 뒤 /hooks를 열어 읽혔는지 본다.
막는 용도의 훅에만 붙인다. 포매터처럼 실패해도 상관없는 훅에 붙이면 편집 전체가 멈춘다.
훅을 믿고 맡길 수 있는 범위는 하루 전 v2.1.294에서도 넓어졌다. "…를 막아라"처럼 지시문으로 쓴 prompt·agent 훅이 막아야 할 걸 통과시키던 버그가 고쳐졌다.
출처