AI 활용 팁·2026년 5월 23일·3분 읽기

Claude Code 훅(Hooks) — Claude가 알아서 움직이게 만드는 법

파일 저장하면 자동 포맷 검사, 커밋 전 자동 코드 리뷰. 훅을 설정하면 Claude가 알아서 움직입니다. 개념부터 설정법까지 정리했습니다.

"Claude한테 매번 '코드 저장했어, 이제 포맷 확인해줘'라고 말해야 하나?" 그럴 필요 없습니다. 훅을 설정해두면 Claude가 알아서 합니다.

훅이 뭔가요?

훅(Hooks)은 특정 이벤트가 발생할 때 자동으로 실행되는 셸 명령어입니다.

예를 들어:

  • Claude가 파일을 수정하면 → 자동으로 lint 실행
  • Claude가 응답을 마치면 → 자동으로 테스트 실행
  • 대화를 시작하면 → 자동으로 현재 Git 상태 확인

이 모든 걸 매번 요청하지 않아도 자동으로 처리됩니다.

어떤 이벤트가 있나요?

어떻게 설정하나요?

~/.claude/settings.json 파일에 작성합니다.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "npx eslint --fix $CLAUDE_FILE_PATHS"
          }
        ]
      }
    ]
  }
}

파일 수정(Write, Edit)이 일어날 때마다 ESLint가 자동으로 실행됩니다.

실전 설정 예시

파일 저장 후 자동 포맷:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write $CLAUDE_FILE_PATHS 2>/dev/null || true"
          }
        ]
      }
    ]
  }
}

응답 완료 후 테스트 자동 실행:

{
  "hooks": {
    "Stop": [
      {
        "matcher": ".*",
        "hooks": [
          {
            "type": "command",
            "command": "npm test --passWithNoTests 2>&1 | tail -5"
          }
        ]
      }
    ]
  }
}

주의할 점

훅은 자동으로 실행되기 때문에, 처음에는 가볍고 안전한 명령어만 써보는 게 좋습니다. 실패해도 Claude 대화 자체는 계속 진행되지만, 훅이 무한루프에 빠지거나 의도치 않은 파일을 수정하는 경우가 생길 수 있어요.

처음에는 echo로 로그만 찍어보면서 어떻게 동작하는지 확인하고, 익숙해지면 실제 자동화 명령어로 바꾸는 걸 권장합니다.

Claude Code 훅(Hooks) — Claude가 알아서 움직이게 만드는 법 - ai.ktoolu 블로그