Claude Code 훅(hooks) 사용법

claude에서는 "지정한 뭔가"를 하면 항상 이걸 실행해.. 하는 기능이 있습니다

이걸 hook이라고 하는데요.

예를 들어, "퍼미션이 필요하면" "알림 소리를 재생해" 라고 하면, 퍼미션이 필요할 때마다 알림 소리가 재생됩니다.

해보죠

afplay 설치

소리를 재생하려면 afplay가 필요합니다.

npm install -g afplay

# test
afplay /System/Library/Sounds/Glass.aiff

/System/Library/Sounds/ 아래 있는 사운드로 바꿀수 있어요

소리가 나면 성공입니다.

hook 설정

vi ~/.claude-code/settings.json
{
  "hooks": {
    "PermissionRequest": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Glass.aiff"
          }
        ]
      }
    ]
  }
}

이제 claude가 퍼미션이 필요할 때마다 소리가 납니다. 다른작업을 하다가도 퍼미션이 필요하면 소리가 나서 알려주죠.

참 좋습니다.

사무실에서는 소리보다는 os의 Notification을 띄우는게 더 좋겠죠? -> 해보시고 알려주세요^^

stop hook 추가

생각해보니 claude가 대답을 완료해도 알림이 오면 좋겠네요. stop hook을 추가합니다.

이제 claude code가 대답을 완료시 소리가 납니다.

영어 공부

매번 내가 질문을 던질때 문장을 고쳐주고 제안해 줬으면 좋겟어요. 요즘 영어를 너무 안해 llm이 다되서

이제 실행될 스크립트를 만들어 봅시다.

alt text

hook list

다양한 상황에 발생하는 hook이 많으므로 확인해보세요

https://code.claude.com/docs/en/hooksarrow-up-right

설정 파일

Claude Code 훅(hooks)은 다음의 설정 파일들을 통해 구성됩니다.

  • '~/.claude/settings.json': 사용자 설정 (전역 설정)

  • '.claude/settings.json': 프로젝트 설정

  • '.claude/settings.local.json': 로컬 프로젝트 설정 (Git 등에 커밋되지 않음)

Last updated