본문으로 건너뛰기
Vibe Console

Mac에서 Claude Code 작업 완료 알림 받는 법

Claude Code나 Codex가 작업을 끝내거나 입력을 기다릴 때 macOS 알림 받는 법. Claude Code hook, Codex notify, Vibe Console 알림음을 비교했어요.

Nes

Nes

@nesdesignco

· 5분 분량

터미널 2에서 Claude Code finished를 띄운 MacBook 노치와, 그 아래 실행 중·대기·입력 대기 상태 점이 보이는 터미널 탭

Claude Code의 핵심은 긴 에이전트 작업이에요. 일을 맡기고 다른 걸 하는 거죠. 문제는 언제 돌아와야 할지 아는 거예요. 너무 자주 확인하면 아낀 시간을 잃고, 너무 늦게 확인하면 에이전트가 2분째부터 권한 요청을 띄운 채 기다리고 있어요.

Mac에서 이걸 해결하는 방법은 세 가지예요. 직접 만드는 hook부터 내장 기능까지 차례로 볼게요.

알아둘 이벤트 두 가지

어떤 방법을 쓰든 알고 싶은 순간은 두 가지예요.

  1. 완료. 에이전트가 자기 차례를 마치고 다음 메시지를 기다려요.
  2. 입력 필요. 에이전트가 작업 도중 멈췄어요. 보통 명령 실행이나 파일 수정 권한을 묻는 경우예요.

더 중요한 건 두 번째예요. 권한 요청에 막힌 에이전트는 아무 진전도 없거든요.

방법 1: Claude Code hook

Claude Code는 특정 이벤트가 일어날 때 셸 명령을 실행할 수 있어요. 위의 두 순간은 hook 이벤트 두 개로 잡을 수 있어요.

  • Stop: Claude가 응답을 마쳤을 때 실행돼요.
  • Notification: 권한 요청이나 오랜 입력 대기처럼 Claude가 주의를 필요로 할 때 실행돼요.

~/.claude/settings.json(모든 프로젝트) 또는 특정 프로젝트의 .claude/settings.json에 추가하세요. 이 예시는 macOS에 기본으로 들어 있는 osascript를 써요.

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Task finished\" with title \"Claude Code\" sound name \"Glass\"'"
          }
        ]
      }
    ],
    "Notification": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Waiting for your input\" with title \"Claude Code\" sound name \"Funk\"'"
          }
        ]
      }
    ]
  }
}

Claude Code를 다시 시작하고 짧은 작업으로 테스트해 보세요. 처음에는 macOS가 스크립트 편집기의 알림 표시를 허용할지 물어볼 수 있어요.

이 방법의 한계: 알림에 어느 프로젝트나 터미널에서 왔는지 나오지 않고, 클릭해도 그곳으로 이동하지 않아요. 다른 에이전트마다 비슷한 설정을 또 해야 하고요. 최신 이벤트 목록은 Claude Code hooks 문서를 확인하세요.

방법 2: Codex notify

Codex CLI는 에이전트 차례가 끝날 때마다 프로그램을 실행할 수 있어요. ~/.codex/config.toml에서 notify에 명령을 지정하면, Codex가 이벤트를 설명하는 JSON을 넘겨줘요.

notify = ["osascript", "-e", "display notification \"Codex finished\" with title \"Codex\""]

최신 Codex는 Stop 이벤트를 포함한 hook도 지원하고, hooks.json이나 config.toml의 [hooks] 테이블에서 설정해요. 버전마다 옵션이 바뀌니 쓰는 버전에 맞춰 Codex hooks 문서를 확인하세요.

방법 3: Vibe Console 내장 기능

Vibe Console은 지원하는 에이전트 8종 모두의 터미널을 설정 없이 대신 지켜봐요.

  • 탭마다 상태 점이 에이전트가 실행 중인지 쉬는 중인지 보여줘서, 에이전트 격자를 한눈에 읽을 수 있어요.
  • 에이전트가 끝나면 소리(기본값 Glass)가 나고 MacBook 노치가 잠깐 열리며, 어느 에이전트의 어느 터미널인지 보여줘요.
  • 에이전트가 멈추고 나를 기다리면 다른 소리(기본값 Funk)가 나요. 화면을 보지 않아도 "끝남"과 "막힘"을 구분할 수 있어요.
  • 두 소리 모두 바꿀 수 있고, 끌 수도 있어요.

Claude Code나 Codex 사용량이 윈도우의 80%와 100%를 넘으면 macOS 알림도 보내요. Claude Code 사용량 한도를 참고하세요.

에이전트 여러 개를 동시에 돌릴 때 가장 쓸모 있어요. Claude Code 에이전트 여러 개를 병렬로 돌리는 방법도 확인해 보세요.

어떤 걸 써야 할까요?

Hook / notify Vibe Console
비용 무료 앱에 포함
설정 에이전트마다 JSON이나 TOML 없음
완료와 막힘 구분 가능, hook 두 개로 가능, 소리 두 개로
어느 터미널인지 표시 안 됨 됨, 노치에서
에이전트 8종 모두 지원 hook이 있는 것만 됨

Claude Code 세션을 한 번에 하나만 돌린다면 hook으로 충분해요. 여러 프로젝트에서 에이전트 여러 개를 돌린다면, 어느 터미널이 무엇인지 아는 작업 공간이 시간을 가장 많이 아껴줘요.

자주 묻는 질문

Claude Code hook이 실행되지 않아요.

JSON이 올바른지, 파일 위치가 맞는지, Claude Code를 다시 시작했는지 확인하세요. 터미널에서 osascript 명령만 따로 실행해 알림이 허용돼 있는지도 확인해 보세요.

휴대폰으로도 알림을 받을 수 있나요?

hook은 푸시 서비스를 포함해 어떤 명령이든 호출할 수 있어요. Claude Code는 모바일 앱에서의 원격 제어도 지원하니, 자리를 비워도 세션을 확인할 수 있어요.

내장 알림음을 14일 동안 무료로 써 보세요: Vibe Console 다운로드.

에이전트에게 창 하나를 주세요.

14일 무료. 이후 월 $4.99 또는 연 $39.99.