훅 (Hooks) 알아보기
Claude Code가 특정 행동을 하기 전·후에 자동으로 실행되는 명령입니다. 파일 수정 직후 자동 포맷, 커밋 직전 lint 실행 같은 자동 검사·자동 작업을 만들 때 씁니다.
이 글은 앤트로픽이 운영하는 code.claude.com/docs의 Hooks 자료를 한국 비개발자 입문자가 보기 편하게 정리한 글입니다.
🤔 매번 빠뜨리는 검사 단계가 있다면
코드를 수정한 뒤에 항상 포맷을 맞추기로 정했는데, 사람이 직접 하다 보면 가끔 빠뜨립니다. 커밋 직전에 lint를 돌리기로 했는데 깜빡합니다. "알아서 매번 자동으로 해 주면 좋겠다"는 생각이 자연스럽게 듭니다.
훅(Hooks)이 이 자리를 채웁니다. Claude Code가 특정 행동을 할 때마다 자동으로 따라 실행되는 명령을 미리 등록해두는 기능입니다.
🔑 훅, 무엇일까요?
훅(Hooks)은 Claude Code가 특정 행동을 하기 전 또는 후에 자동으로 실행되는 명령입니다. 앤트로픽 공식 안내는 다음과 같이 설명합니다.
"Hooks let you run shell commands before or after Claude Code actions, like auto-formatting after every file edit or running lint before a commit."
핵심은 "매번 자동"이라는 단어입니다. 사용자가 매번 기억해서 명령을 실행할 필요가 없도록, 흐름에 못 박아 두는 자동 실행 규칙입니다.
🛠️ 훅이 발동하는 시점
훅은 Claude Code가 다음과 같은 이벤트를 만났을 때 발동합니다.
- 파일 수정 후 (PostToolUse): 파일 하나를 고친 직후
- 명령 실행 전 (PreToolUse): 셸 명령을 실행하기 직전
- 세션 시작 시 (SessionStart): 새 작업 세션을 시작할 때
- 세션 종료 시 (Stop): 작업이 끝날 때
각 이벤트마다 다른 훅을 등록할 수 있고, 같은 이벤트에 여러 훅을 연결할 수도 있습니다.
💡 어떤 자리에 훅을 쓰나요?
1. 자동 포맷
- 파일을 수정할 때마다 prettier·eslint를 자동 실행해 코드 스타일을 통일.
2. 자동 lint
- 커밋 직전에 lint를 돌려 표준에 맞지 않는 코드를 차단.
3. 자동 테스트
- 특정 파일을 수정하면 그 파일의 테스트를 자동 실행.
4. 보안 검사
- 셸 명령 실행 전에 위험한 명령(rm -rf, sudo)을 차단.
5. 자동 알림
- 작업이 끝나면 슬랙으로 결과 자동 발송.
이런 검사·작업은 매번 사람이 하기 부담스럽기 때문에 훅으로 자동화하는 게 표준입니다.
📂 훅은 어디 정의되어 있나요?
훅은 두 곳에 등록할 수 있습니다.
1. 사용자 단위 (Global)
~/.claude/settings.json- 모든 프로젝트에서 공통으로 동작
2. 프로젝트 단위 (Project)
- 프로젝트 루트의
.claude/settings.json - 그 프로젝트에서만 동작
settings.json 안에 어떤 이벤트에 어떤 명령을 실행할지를 JSON 형식으로 적어둡니다.
🔁 훅 동작 흐름 시나리오
시나리오: 자동 포맷 + 자동 lint
회사에서 모든 코드는 prettier로 포맷, ESLint를 통과해야 한다고 가정합니다.
훅 1 (PostToolUse, 파일 수정 직후)
- prettier --write {수정된 파일}
훅 2 (PreToolUse, 셸 명령 실행 직전)
- 명령이 git commit이면 lint를 먼저 실행하고, 실패 시 커밋 차단
이렇게 등록해두면 사용자는 코드만 작성하고, 포맷·lint는 자동으로 따라옵니다. 깜빡할 일이 없습니다.
🔗 Subagents·슬래시 명령과의 차이
세 도구는 닮은 듯 다릅니다.
| 도구 | 호출 방식 | 사용 시점 |
|---|---|---|
| 슬래시 명령 | 사용자가 /명령 직접 입력 | 자주 쓰지만 매번 의식적으로 호출 |
| 서브에이전트 | 주력 에이전트가 작업 분배 | 큰 작업의 부분을 동시에 처리 |
| 훅 | 이벤트 발생 시 자동 실행 | 매번 빠뜨리고 싶지 않은 검사·작업 |
세 도구를 묶어 쓰면 작업 흐름의 자동화 깊이가 매우 커집니다.
💼 직무·역할별 활용 시나리오
개발자
- 자동 포맷·lint·테스트
- 위험 명령 차단 (rm -rf 같은 명령)
- 커밋 직전 보안 점검
마케터·기획자
- 회사 가이드라인 위반 자동 알림
- 매주 작업 결과를 슬랙에 자동 발송
교육자
- 학생 자료 자동 포맷 점검
- 자료 변경 시 학생용 PDF 자동 변환
훅은 비개발자에게도 "매번 빠뜨리는 작업"을 자동화하는 데 유용합니다.
⚠️ 훅 사용 시 주의할 점
1. 너무 많이 만들지 말기
- 매번 발동하는 훅이 많으면 작업이 느려집니다. 정말 매번 필요한 것만 등록하세요.
2. 보안 우회 용도로 쓰지 않기
- 사용자 모르게 데이터를 외부로 보내거나 보안 검사를 끄는 훅은 절대 만들지 마세요.
3. 실패 시 동작 정의
- 훅이 실패했을 때 작업을 중단할지, 무시하고 진행할지 명확히 정해야 합니다. 보안 검사 훅은 실패 시 차단이 표준입니다.
4. 환경 변수로 비밀 분리
- 훅 안에 API 키·비밀번호를 직접 넣지 마세요. 환경 변수로 분리합니다.
📋 30초 요약
-
훅은 Claude Code가 특정 행동(파일 수정, 명령 실행, 세션 시작·종료) 전·후에 자동 실행되는 명령입니다. 매번 빠뜨리고 싶지 않은 검사·작업을 흐름에 못 박아 두는 데 씁니다.
-
.claude/settings.json또는~/.claude/settings.json에 등록합니다. 자동 포맷, 자동 lint, 자동 테스트, 보안 검사, 자동 알림이 표준 사용처입니다. -
슬래시 명령·서브에이전트와 묶으면 작업 자동화 깊이가 매우 커집니다. 너무 많이 만들지 말고, 보안 우회 용도로 쓰지 말고, 실패 시 동작을 명확히 정의하세요.
📚 참고 자료
- Hooks 안내: https://code.claude.com/docs/en/hooks
- Settings: https://code.claude.com/docs/en/settings
- Best practices: https://code.claude.com/docs/en/best-practices
Claude Code의 Hooks가 가장 적절히 쓰이는 자리는 어디일까요?
연관 개념
MCP (Model Context Protocol) 이해하기
AI 애플리케이션이 외부 시스템(데이터·도구·워크플로)과 연결되는 오픈소스 표준 규격입니다. Anthropic이 제안했고 다른 AI 회사들도 채택해 "AI를 위한 USB-C 포트"로 불립니다.
훅 (Hooks) 알아보기
Claude Code가 특정 행동을 하기 전·후에 자동으로 실행되는 명령입니다. 파일 수정 직후 자동 포맷, 커밋 직전 lint 실행 같은 자동 검사·자동 작업을 만들 때 씁니다.
서브에이전트 (Subagents) 알아보기
한 작업의 부분을 따로 나눠 처리하는 보조 에이전트입니다. 주력 에이전트가 작업 전체를 조율하고, 서브에이전트들이 코드 검토, 자료 조사, 테스트 작성 같은 부분 작업을 동시에 처리해 결과를 합칩니다.
관련 인사이트
클로드 코드를 가장 잘 쓰는 사람은 이렇게 쓴다고 합니다
2026년 4월 24일 SNS에서 화제가 된 클로드 코드 헤비 유저의 6가지 고민과, 대다수 일반 사용자의 사용법을 친절하게 비교했습니다. 헤비 유저를 그대로 따라가지 않아도 되는 이유와, 입문자가 자기 속도로 시작하는 4주 흐름을 정리했습니다.
Ultraplan, Auto 모드, bypass 모드의 차이와 사용 맥락을 정리했습니다
Claude Opus 4.7 출시와 함께 Claude Code에 Ultraplan과 Auto 모드가 추가되면서 --dangerously-skip-permissions(bypass 모드)와 어떻게 다른지 헷갈리는 분이 많습니다. 공식 문서 기준 3가지 실행 방식의 차이, 플랜별 가용성, 그리고 일상 작업에서 어떤 조합을 써야 하는지 정리했습니다.
정말 클로드 코드를 Pro플랜에서 쓸 수 없을까요?
2026년 4월 22일 Anthropic이 Claude Code를 Pro 플랜에서 잠시 제외했다가 가격 페이지를 복구한 사건을 둘러싸고 혼란이 큽니다. 공식 해명과 커뮤니티가 추측하는 배경, 기존 Pro 구독자의 실제 영향, 그리고 입문자가 어떻게 시작해야 할지를 팩트체크 기준으로 정리했습니다.
