claude-code-notifier
작동 방식 가이드 자주 묻는 질문
◐한국어
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
시작하기
전체 가이드

Linux에서 Claude Code 알림 받기

2026년 10월 31일 업데이트 · 6분 분량
이 페이지의 내용 01Claude Code의 기본 동작 02notify-send 설치하기 03Notification hook 04Claude가 끝나는 즉시 알림 받기 05실제 메시지를 사운드와 함께 표시하기 06notify-send가 없다면? escape sequence를 쓰세요 07셸에서는 notify-send가 되는데 Claude Code에서는 안 될 때 08Claude Code Notifier의 역할 09FAQ

Linux에서 Claude Code가 자체적으로 데스크톱 알림을 보내는 건 Ghostty나 Kitty 같은 일부 terminal뿐이에요. 그 외 환경에서는 ~/.claude/settings.json에 notify-send 'Claude Code' 'Claude Code needs your attention'을 실행하는 Notification hook을 추가하고, Claude가 끝나는 순간을 알고 싶다면 Stop hook도 추가하세요. notify-send는 libnotify(Debian과 Ubuntu에서는 libnotify-bin)에 포함되어 있고, 실행 중인 알림 데몬이 필요해요. GNOME과 KDE Plasma에는 기본으로 있지만 headless 서버나 SSH 세션에는 없어요.

01Claude Code의 기본 동작

Claude가 작업을 마치거나 권한 승인을 기다리는데 사용자가 자리를 비운 것 같으면 Claude Code는 알림 이벤트를 발생시켜요. Anthropic의 terminal 가이드에 따르면 Ghostty와 Kitty는 이를 데스크톱 알림으로 띄우지만, GNOME Terminal, Konsole, VS Code terminal 같은 다른 terminal에서는 아무것도 표시되지 않아요.

대신 어떤 terminal에서든 bell을 울리도록 설정할 수 있어요:

{
  "preferredNotifChannel": "terminal_bell"
}

bell이 어떻게 동작할지는 terminal과 데스크톱 환경에 따라 달라요. 소리가 나거나, 화면이 깜빡이거나, 창이 긴급 상태로 표시될 수 있어요. 자세한 내용은 terminal bell 가이드를 참고하세요. 제대로 된 알림을 원한다면 hook을 사용하세요.

02notify-send 설치하기

설치되어 있는지 확인하세요:

notify-send 'Claude Code' 'test'

명령을 찾을 수 없다면 설치하세요:

sudo apt install libnotify-bin   # Debian, Ubuntu, Mint
sudo dnf install libnotify       # Fedora, RHEL
sudo pacman -S libnotify         # Arch

명령은 실행되는데 아무것도 뜨지 않는다면 알림 데몬이 없는 거예요. GNOME, KDE Plasma, Cinnamon, Xfce에는 포함되어 있어요. Sway, i3, Hyprland 같은 타일링 윈도 매니저를 쓴다면 mako나 dunst 같은 데몬을 직접 설치하고 실행하세요. notify-send는 디스플레이가 아니라 D-Bus를 통해 데몬과 통신하기 때문에 Wayland와 X11 모두에서 동작해요.

03Notification hook

Anthropic hooks 가이드에 나오는 Linux 예제예요. 기존 키는 그대로 두고 ~/.claude/settings.json에 추가하세요:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
          }
        ]
      }
    ]
  }
}

Claude Code에서 /hooks를 입력하면 Notification 아래에 표시되는 걸 확인할 수 있어요. matcher가 비어 있으면 모든 알림 유형에서 실행돼요. 주요 유형은 승인 요청 후 입력 없이 약 6초가 지나면 발생하는 permission_prompt와, Claude가 작업을 마치고 약 60초 후 발생하는 idle_prompt예요. 전체 목록은 Notification hook 가이드에 있어요.

04Claude가 끝나는 즉시 알림 받기

idle_prompt는 1분 늦게 와요. Stop hook은 Claude가 턴을 마치자마자 실행되고, matcher가 필요 없어요:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "notify-send -a 'Claude Code' 'Claude Code' 'Claude has finished'"
          }
        ]
      }
    ]
  }
}

-a는 데몬에 표시될 앱 이름을 지정해요. 그 밖에 유용한 옵션으로, -u critical을 쓰면 대부분의 데몬에서 직접 닫을 때까지 알림이 화면에 남아 있고, -i dialog-information은 아이콘을 추가해요. 이 이벤트에 대한 자세한 내용은 Stop hook 가이드를 참고하세요.

05실제 메시지를 사운드와 함께 표시하기

hook은 표준 입력으로 JSON을 받고, Notification 입력에는 message 필드가 있어요. 스크립트로 이 텍스트를 보여주고 사운드를 재생할 수 있어요. 다음 내용을 ~/.claude/hooks/notify-linux.sh로 저장하세요:

#!/bin/bash
msg=$(jq -r '.message // "Claude Code needs your attention"')
notify-send -a 'Claude Code' 'Claude Code' "$msg"
paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null || true

chmod +x ~/.claude/hooks/notify-linux.sh로 실행 권한을 주고, hook 명령으로 ~/.claude/hooks/notify-linux.sh를 지정하세요. jq는 모든 배포판의 패키지에 있어요. paplay는 PulseAudio와 PipeWire의 PulseAudio 레이어에서 동작하고, 사운드 파일은 freedesktop 사운드 테마(Debian과 Ubuntu에서는 sound-theme-freedesktop)에 들어 있어요. 원하는 .oga나 .wav 파일을 써도 돼요.

06notify-send가 없다면? escape sequence를 쓰세요

terminal이 알림 escape sequence를 지원한다면 hook에서 Claude Code에게 대신 보내 달라고 할 수 있어요. hook에는 자체 terminal이 없으므로 terminalSequence 필드에 sequence를 담아 반환하면 Claude Code가 이를 출력해요. Anthropic 레퍼런스에는 Ghostty, urxvt, Warp용 OSC 777과 Kitty용 OSC 99가 나와 있어요. 예를 들면:

#!/bin/bash
body=$(jq -r '.message // "Needs your attention"')
seq=$(printf '\033]777;notify;%s;%s\007' "Claude Code" "$body")
jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

이 방법은 Claude Code가 실행되는 머신에 데몬이 없어도 돼서, SSH로 접속한 원격 서버에서도 쓸 수 있는 요령이에요.

07셸에서는 notify-send가 되는데 Claude Code에서는 안 될 때

notify-send에는 데스크톱 로그인 세션의 D-Bus 세션 주소가 필요해요. hook은 Claude Code의 환경을 그대로 물려받기 때문에, 데스크톱 terminal에서 Claude Code를 실행했다면 문제없어요. 하지만 SSH, systemd 서비스, 컨테이너, 또는 처음에 SSH에서 시작된 tmux 서버 안에서 Claude Code를 실행했다면 이 주소가 없을 수 있고, 그러면 알림이 어디에도 표시되지 않아요. claude를 실행하는 셸에서 echo $DBUS_SESSION_BUS_ADDRESS를 실행해 보세요. 값이 비어 있다면 그 세션에서는 데스크톱 알림이 뜨지 않아요. 이런 환경은 tmux 가이드와 SSH 가이드에서 다뤄요.

08Claude Code Notifier의 역할

위의 hook들은 머신 앞에서 작업할 때는 좋은 선택이에요. 하지만 자리를 떠나면 알림을 받을 수 없고, 데스크톱 알림으로는 Claude에게 응답할 수도 없어요.

Claude Code Notifier는 Claude Code의 hook을 기반으로 만든 독립 도구예요(Anthropic이 아닌 TouchTap이 만들었어요). 무료 커맨드라인 도구인 ccn은 Mac, Windows, Linux에서 동작해요. Linux에서는:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

Node.js가 있다면 npx @touchtap/ccn을 써도 돼요. ~/.claude/settings.json에 hook 항목만 추가하고 나머지는 그대로 두며, 백업도 남겨요. 그 후로는 Claude가 작업을 마치거나, 권한이 필요하거나, 질문할 때 Linux 데스크톱 알림을 띄워요. 이 기능은 네트워크도 휴대폰도 필요 없어요. 이벤트마다 몇 밀리초만 실행되고, 백그라운드에 상주하는 프로세스는 없어요.

iPhone이나 Android 휴대폰을 페어링하면 데스크톱이 전혀 없는 머신에서도 같은 이벤트를 push 알림으로 받을 수 있어요. 휴대폰에서 권한을 허용하거나 거부하고, Claude의 질문에 답을 고르고, Claude가 끝나면 다음 지시를 보낼 수도 있어요. 휴대폰 앱은 휴대폰 페어링, ccn 페이지, 요금제를 참고하세요. Linux에서 ccn은 토큰을 본인만 읽을 수 있는 파일에 저장해요.

ccn을 설치했다면 알림이 중복되지 않도록 직접 만든 notify-send hook은 제거하세요.

09FAQ

터미널에서는 notify-send가 되는데 hook에서는 왜 안 되나요?

대개 hook에 D-Bus 세션 주소가 없어서 그래요. Claude Code를 SSH나 컨테이너에서 실행했거나, 세션 주소 없이 시작된 tmux 서버에서 실행한 경우예요. 데스크톱 terminal에서 Claude Code를 실행하거나, 대신 휴대폰 push를 사용하세요.

notify-send는 어떤 패키지에 들어 있나요?

Debian과 Ubuntu에서는 libnotify-bin, Fedora와 Arch에서는 libnotify예요. 알림 데몬도 필요한데, 일반적인 데스크톱 환경에는 기본으로 들어 있어요.

Wayland에서도 동작하나요?

네. notify-send는 D-Bus를 사용하기 때문에 알림 데몬만 실행 중이면 Wayland와 X11에서 똑같이 동작해요.

확인할 때까지 알림이 사라지지 않게 하려면 어떻게 하나요?

notify-send 명령에 -u critical을 추가하세요. 대부분의 데몬은 critical 알림을 직접 닫을 때까지 화면에 띄워 둬요.

헤드리스 Linux 서버에서도 Claude Code 알림을 받을 수 있나요?

데스크톱이 없으니 데스크톱 알림으로는 안 돼요. SSH terminal을 통한 이스케이프 시퀀스나 ccn 휴대폰 앱 같은 push 서비스를 사용하세요. 각 방법은 SSH 가이드에서 비교해 두었어요.

Claude Code Notifier Claude Code가 작업을 끝내거나 입력이 필요할 때 휴대폰으로 push 알림을 받고, 바로 승인·거부하거나 답할 수 있어요. ccn 커맨드라인 도구는 Mac, Windows, Linux에서 무료예요.
iOS용 다운로드 Android용 다운로드 ccn 설치하기

관련 가이드

  • Claude Code Notification hook: 언제 실행되고 어떻게 쓰는지Claude Code의 Notification hook이 언제 실행되는지, permission_prompt와 idle_prompt의 의미, 받는 입력, 그리고 실행 전에 기다리는 이유를 알아봐요.
  • Claude Code Stop hook: Claude가 작업을 마치면 무언가 실행하기Claude Code의 Stop hook이 어떻게 동작하는지, 어떤 입력을 받는지, Claude가 끝났을 때 명령을 실행하는 방법, 그리고 Claude가 안전하게 계속 작업하게 하는 방법을 알아봐요.
  • SSH로 접속한 원격 서버의 Claude Code에서 알림 받기VPS나 원격 서버에서 SSH로 Claude Code를 실행하면서도 알림을 받을 수 있어요. SSH를 타고 전달되는 terminal 이스케이프 시퀀스나 ccn의 휴대폰 push를 사용하면 돼요.
  • tmux나 screen에서 쓰는 Claude Code: detach된 세션에서 알림 받기tmux나 screen 안의 Claude Code가 작업을 마치거나 확인이 필요할 때 알림 받기: allow-passthrough, bell 알림, 세션 이름 붙이기, detach 상태에서의 폰 push.
claude-code-notifier

Claude Code Notifier는 독립적인 제3자 애플리케이션입니다. Anthropic, PBC와 제휴하거나 Anthropic, PBC의 보증 또는 후원을 받지 않습니다. "Claude" 및 "Claude Code"는 Anthropic, PBC의 상표입니다.

앱 iOS 앱 Android 앱 macOS, Windows, Linux용 ccn 전체 가이드
법적 고지 개인정보 처리방침 서비스 약관 다른 언어 © 2026 touchtap. 모든 권리 보유. TouchTap Ltd는 잉글랜드 및 웨일스에 등록되어 있습니다(회사 번호 13942589).