본문으로 건너뛰기

Claude Code, 알림이 필요해

· 약 3분
JS Koo
Developer
시리즈 안내

이 글은 Claude Code Notifier 개발기 시리즈의 1편입니다. (총 4편)

나는 Claude Code를 쓸 때 페르소나를 입히고 실행계획을 문서화시킨 뒤 순차적, 병렬 처리를 시킨다. 이렇게 하면 작업 시간이 길어지는 대신 결과물이 좋다. 그래서 보통 터미널을 네 개 정도 띄워놓고 각각 다른 작업을 시킨다. Claude가 알아서 하니까 나는 그 사이에 다른 업무를 본다.

문제는 그 다음이었다.

놓친 순간들

돌아와 보면 이미 끝나 있었다. 언제 끝났는지 모른다. 10분 전인지, 30분 전인지. 그냥 커서가 깜빡이고 있을 뿐이었다.

Claude: (열심히 작업 중...)
나: (다른 업무 보다가)
나: (10분 후) "어, 끝났네"

더 귀찮은 건 권한 요청이었다. 파일을 만들려면 허락을 받아야 하는데, Claude는 조용히 기다리고 있고, 나는 그걸 모른 채 1시간을 버렸다.

Claude: "파일을 생성하려고 합니다. 허용하시겠습니까?"
나: (모른 채 1시간...)
나: "왜 아직도 안 끝났지?"

처음엔 그냥 그러려니 했다. 터미널을 자주 확인하면 되잖아. 근데 네 개 세션을 계속 왔다갔다 확인하는 게 번거로웠다.

알림이면 되잖아

어느 날 문득 그런 생각이 들었다. 끝나면 알려주면 되잖아.

당연한 생각인데 왜 진작 안 했을까. 아마 "그 정도는 내가 챙기면 되지"라고 생각했던 것 같다. 근데 안 됐다. 나는 못 챙겼다.

그래서 만들기로 했다.

필요한 알림은 세 가지였다.

상황알림
작업이 끝났을 때"끝났다"
권한이 필요할 때"허락해줘"
입력을 기다릴 때"뭐라고 할 거야?"

처음엔 다섯 가지쯤 생각했는데, 쓰다 보니 세 가지면 충분했다. 오히려 더 있으면 피곤할 것 같았다.

짧은 작업은 무시

모든 응답에 알림이 오면 미칠 것 같았다. "안녕"이라고 했는데 띵동. "고마워"라고 했는데 띵동. 그건 알림이 아니라 고문이다.

그래서 20초 이상 걸린 작업에만 알림이 오게 했다. 숫자는 대충 정했다. 써보니까 괜찮았다.

# 기본값 20초
# 바꾸고 싶으면 바꾸면 된다
/notifier duration 30

설치

터미널에서 이렇게 치면 된다.

git clone https://github.com/js-koo/claude-code-notifier.git && cd claude-code-notifier && ./install.sh

끝이다. 설정 같은 거 없다. 그냥 된다.

나는 설정 많은 도구를 별로 안 좋아한다. 쓰기 전에 설정부터 해야 하면 귀찮아서 안 쓰게 된다. 그래서 기본값으로 바로 되게 만들었다.

명령어

혹시 바꾸고 싶은 게 있으면 /notifier를 쓰면 된다.

명령어하는 일
/notifier help도움말
/notifier status지금 설정
/notifier lang ko한국어로
/notifier duration 3030초 이상만 알림
/notifier test테스트 알림
/notifier uninstall삭제

한국어로 바꾸면 "Task completed!" 대신 "작업 완료!"라고 온다. 별거 아닌데 은근 좋았다.

플랫폼

macOS, Linux, Windows 다 된다. WSL도 된다.

플랫폼알림 방식
macOS시스템 알림 센터
Linuxnotify-send
WindowsToast 알림
WSL2Toast 알림

처음엔 macOS만 지원하려고 했다. 내가 macOS를 쓰니까. 근데 만들다 보니 욕심이 났다. 3편에서 이 얘기를 좀 더 할 것 같다.

쓰면 이렇다

터미널 세 개를 띄워놓고 각각 작업을 시킨다.

[터미널 1] 리팩토링 중...
[터미널 2] 테스트 작성 중...
[터미널 3] 문서화 중...

나는 다른 일을 한다.

🔔 터미널 1 완료
🔔 터미널 3에서 권한 요청
🔔 터미널 2 완료

그때그때 알림이 온다. 이제 터미널을 계속 쳐다보지 않아도 된다.

그래서

별거 아닌 도구다. 끝나면 알려준다. 그게 전부다.

근데 이게 은근 편했다. 만들기 전엔 "이 정도는 없어도 되지"라고 생각했는데, 만들고 나니 없으면 불편했다.

다음 글에서는 이게 어떻게 돌아가는지 얘기할 것 같다. Claude Code의 Hook이라는 게 있는데, 그걸 썼다.


시리즈 목차:


문서: Claude Code Notifier Docs

GitHub: https://github.com/js-koo/claude-code-notifier