How to make Claude Code go “meow meow” (hook edition)

개요

Claude Code 사용 시, 작업 완료 또는 사용자 승인 대기 상태를 소리 알림으로 알려주는 기능이 구현되었습니다.

주요 내용

* 필요성: Claude Code 작업 중 발생하는 대기 시간을 줄이고 워크플로우를 개선하기 위해 소리 알림 기능을 도입했습니다.
* 기능: 두 가지 종류의 소리 알림을 제공합니다.
* Claude가 응답을 완료했을 때 성공음을 재생합니다.
* Claude가 사용자 승인을 기다릴 때 특정 소리를 재생합니다.
* 구현:
* ~/.claude/settings.json 파일에 hooks 설정을 추가하여 두 가지 이벤트를 트리거합니다.
* Stop 이벤트는 Claude 작업 완료 시 play-success.sh 스크립트를 실행합니다.
* PermissionRequest 이벤트는 Claude가 승인을 기다릴 때 play-permission.sh 스크립트를 실행합니다.
* 두 스크립트 모두 async: true로 설정되어 백그라운드에서 실행되며 Claude의 응답이나 프롬프트에 지연을 주지 않습니다.
* 스크립트 구성:
* ~/.claude/hooks/ 디렉토리에 _play.sh (공통 헬퍼 스크립트), play-success.sh, play-permission.sh 파일이 생성됩니다.
* ~/.claude/hooks/sounds/ 디렉토리에 success.mp3permission.mp3 파일이 저장됩니다.
* _play.sh 스크립트: macOS의 afplay 또는 Windows의 powershell.exe를 사용하여 MP3 파일을 재생하는 기능을 담당합니다.
* 테스트: 각 스크립트를 직접 실행하여 오디오가 정상적으로 작동하는지 확인하고, Claude에서 실제 프롬프트를 통해 각 이벤트를 트리거하여 소리 알림을 테스트합니다.

시사점

이 기법을 통해 Claude Code 사용자는 탭 전환 중에도 Claude 작업 상태를 즉각적으로 인지할 수 있어, 사용자 경험을 향상시키고 작업 효율성을 높일 수 있습니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions