> For the complete documentation index, see [llms.txt](https://byulseop-til.gitbook.io/sinheeseop_til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://byulseop-til.gitbook.io/sinheeseop_til/ai-agent/claude/undefined-3.md).

# 훅

훅은 특정 이벤트가 일어날 때 자동으로 셸 명령을 실행하도록 설정 파일에 등록해두는 기능이다. 도구를 호출하기 직전, 호출한 직후, 세션이 끝날 때처럼 정해진 시점에 걸어둘 수 있다.

## 왜 쓰는가

Claude에게 매번 "이 작업 끝나면 포맷터 돌려줘"라고 말로 지시하는 대신, 파일 수정 이벤트에 포맷터 실행 명령을 훅으로 걸어두면 그 지시를 반복할 필요가 없어진다. 사람이 신경 쓰지 않아도 정해진 규칙이 항상 지켜지게 만드는 방법이다.

> \[!TIP] 코드를 수정한 뒤 항상 린터나 포맷터를 돌리길 원한다면, 매번 요청하기보다 파일 수정 이후 시점에 훅으로 걸어두는 편이 안정적이다. 요청을 깜빡해도 훅은 빠지지 않는다.

## 명령 차단과의 관계

훅은 명령을 실행하는 용도 외에, 특정 조건에서 도구 호출 자체를 막는 용도로도 쓰인다. 예를 들어 위험한 명령 패턴을 감지하면 훅이 실행을 가로막고 이유를 돌려준다. 이 경우 Claude는 그 피드백을 사람의 지시처럼 받아들이고, 막힌 이유에 맞춰 접근 방식을 바꾼다.

## 권한 모드와 다른 점

권한 모드가 "이 도구 호출을 실행해도 되는가"를 사람이 그때그때 판단하는 절차라면, 훅은 그 판단 자체를 규칙으로 미리 코드화해둔 것이다. 자주 반복되는 승인/차단 패턴이 있다면 매번 확인하는 대신 훅으로 옮기는 게 더 일관적이다.
