4알아 두기
막을까, 물을까, 알리기만 할까
훅을 만들기 전에 결정부터 골라요. 같은 위험이라도 무엇을 고르느냐에 따라 작업이 서기도 하고 계속 가기도 해요.

여섯 개를 이 기준으로 나누면 이래요.
| 훅 | 도는 때 | 하는 일 | 결정 |
|---|---|---|---|
| grep 폭주 막기 | PreToolUse | grep 식의 반복이 100 이상이거나 드라이브 전체를 뒤지면 실행하지 않아요 | 막기 |
| 남은 grep 정리 | Stop · SessionStart | 10분 넘게 돌았거나 메모리 4GB를 넘은 grep만 꺼요 | 알리기 |
| Chrome 끄기 확인 | PreToolUse | Chrome을 끄는 명령일 때만 승인 창을 띄워요 | 묻기 |
| 코덱스 지킴이 | PreToolUse · Stop · SessionStart | 일하는 코덱스가 있으면 새 호출을 막고, 부모가 죽었거나 40분 넘게 돌며 멈춘 것은 꺼요 | 막기 · 알리기 |
| 폴더 신뢰 맞추기 | SessionStart | 대소문자만 다른 같은 폴더의 신뢰 설정을 맞춰요 | 조용히 고치기 |
| 점검 밀림 알림(이 저장소만) | SessionStart | 밀린 주간·월간 점검, 다시 볼 날이 지난 결정, 늦어진 AI 소식을 알려요 | 알리기 |
기계가 숫자나 상태로 판단할 수 있으면 막고, 사람의 뜻을 들어야 하면 묻고, 멈출 까닭이 없으면 알리기만 해요. 묻기는 사람이 자리를 비운 동안 작업 전체를 세워 두기 때문에, 이 운영에서는 Chrome 하나에만 써요.
훅 스크립트 자체가 오류로 죽을 때도 정해 둘 수 있어요. 10월 8일 Claude Code 2.1.295에서 명령형 훅에 onFailure: "block" 설정이 생겼고, 켜면 훅이 실패했을 때 작업을 막아요(10월 둘째 주 AI 소식). 막는 훅은 스크립트가 죽으면 위험한 명령이 그대로 지나갈 수 있고, 알리는 훅은 죽어도 작업이 서지 않아야 해요. 그래서 이 설정은 막는 훅에 어울린다고 봐요. 운영자의 훅은 아직 이 설정을 쓰지 않아요.