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

Windows에서 Claude Code 알림 받기 (PowerShell 및 WSL)

2026년 10월 31일 업데이트 · 6분 분량
이 페이지의 내용 01네이티브 Windows냐 WSL이냐: hook이 실행되는 위치 02간단한 테스트: terminal 벨 03PowerShell로 만드는 Notification hook 04BurntToast로 진짜 토스트 띄우기 05WSL에서: interop으로 Windows 호출하기 06Claude Code Notifier의 역할 07FAQ

Claude Code는 Windows Terminal, PowerShell, VS Code terminal에서 기본적으로 데스크톱 알림을 표시하지 않아서, Windows에서는 직접 추가해야 해요. %USERPROFILE%\.claude\settings.json에 PowerShell을 실행하는 Notification hook(작업 완료 알림용으로는 Stop hook도)을 넣으세요. 메시지 상자는 아무것도 설치하지 않아도 되고, BurntToast 모듈을 쓰면 제대로 된 토스트 알림을 띄울 수 있어요. Claude Code를 WSL 안에서 실행한다면 hook이 Linux에서 실행되므로, Windows 데스크톱에 알림을 띄우려면 Windows interop으로 powershell.exe를 호출해야 해요.

01네이티브 Windows냐 WSL이냐: hook이 실행되는 위치

Claude Code는 Windows에서 네이티브로 실행되거나 WSL 안에서 실행되는데, 이에 따라 알림 hook의 동작 방식이 달라져요.

  • 네이티브 Windows. 설정 파일은 %USERPROFILE%\.claude\settings.json에 있어요. Anthropic의 hooks 레퍼런스에 따르면 command hook은 기본적으로 Git Bash에서 실행되고, Git Bash가 설치되어 있지 않으면 PowerShell에서 실행돼요. 특정 hook만 "shell": "powershell"로 PowerShell에서 실행하게 할 수도 있어요. 이때 Claude Code는 pwsh.exe(PowerShell 7)가 있으면 그걸 쓰고, 없으면 powershell.exe(Windows PowerShell 5.1)를 써요.
  • WSL. claude를 WSL terminal 안에서 설치하고 실행하므로, 설정 파일은 배포판 안의 Linux 쪽 파일인 ~/.claude/settings.json이고 hook도 Linux 셸에서 실행돼요. 여기서 notify-send를 써도 보통 Windows 데스크톱까지 알림이 가지 않아요. 대신 Windows 프로그램을 호출하세요.

02간단한 테스트: terminal 벨

가장 간단한 신호는 벨이에요. 설정 파일에 다음을 추가하세요.

{
  "preferredNotifChannel": "terminal_bell"
}

그러면 Claude Code가 작업을 끝내거나 입력을 기다릴 때 벨 문자를 보내요. Windows Terminal에서는 벨이 어떻게 동작할지를 settings.json의 bellStyle로 프로필마다 설정해요. "bellStyle": ["window", "taskbar"]로 하면 소리 대신 창과 작업 표시줄 버튼이 깜빡여요. 자세한 내용은 terminal 벨 가이드를 참고하세요. 단, terminal이 화면에 보일 때만 쓸모가 있어요.

03PowerShell로 만드는 Notification hook

Anthropic의 hooks 가이드에 나온 Windows 예제예요. 아무것도 설치하지 않아도 동작해요.

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
          }
        ]
      }
    ]
  }
}

화면 구석의 토스트가 아니라 대화 상자가 열리고, terminal 뒤에 열릴 수도 있어요. 먼저 PowerShell에서 명령을 테스트해 보세요. Claude Code에서 /hooks를 입력하면 hook이 로드됐는지 확인할 수 있어요.

matcher를 비워 두면 모든 알림 유형에 대해 실행돼요. permission_prompt(승인 요청이 약 6초 동안 대기함)와 idle_prompt(Claude가 약 60초 전에 작업을 마침)도 포함돼요. 타이밍은 Notification hook 가이드에서 설명해요.

04BurntToast로 진짜 토스트 띄우기

BurntToast는 Windows 토스트 알림용으로 널리 쓰이는, 커뮤니티에서 관리하는 PowerShell 모듈이에요. 사용자 계정에 한 번 설치하세요.

Install-Module -Name BurntToast -Scope CurrentUser

그다음 동작하는지 확인하세요.

New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'

hook에서 사용해 보세요. 이 버전은 프로필 없이 PowerShell을 시작하고 이번 호출에 한해 실행 정책을 우회하므로, Git Bash에서든 PowerShell에서든 똑같이 동작해요.

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'\""
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

Stop hook은 매 턴이 끝날 때마다 실행되므로, 작업이 끝나면 1분 뒤가 아니라 바로 알 수 있어요. Stop hook 가이드를 참고하세요. "async": true는 hook을 백그라운드에서 실행해서 PowerShell이 느리게 시작되더라도 Claude Code가 멈추지 않게 해 줘요.

토스트가 전혀 나타나지 않으면 설정 > 시스템 > 알림을 확인하세요. 알림이 켜져 있고 방해 금지 모드는 꺼져 있어야 해요. BurntToast 토스트는 보통 Windows PowerShell 항목에 표시되므로, 여기도 알림이 허용되어 있어야 해요.

05WSL에서: interop으로 Windows 호출하기

WSL 안에서는 hook이 Linux에서 실행되지만, WSL은 .exe 이름으로 Windows 프로그램을 실행할 수 있어요. Anthropic 가이드에 따르면 Windows interop을 통해 powershell.exe가 PATH에 있어야 해요. 기본값이 그렇고, /etc/wsl.conf의 [interop] 섹션에 있는 appendWindowsPath로 제어해요. WSL 셸에서 확인해 보세요.

command -v powershell.exe

Windows 쪽에 BurntToast가 설치되어 있다면, WSL의 ~/.claude/settings.json에 넣을 hook도 같은 명령이에요.

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

WSL에서 Windows PowerShell을 시작하는 데 1초 이상 걸릴 수 있다는 점도 "async": true를 쓰는 이유예요.

06Claude Code Notifier의 역할

위의 hook들은 자리에 앉아 있을 때는 괜찮아요. 하지만 자리를 비우면 소용이 없고, 토스트로는 Claude의 명령을 승인할 수도 없어요.

Claude Code Notifier는 Claude Code의 hook 위에 만든 독립 도구예요(Anthropic이 아닌 TouchTap에서 만들었어요). 무료 커맨드라인 도구인 ccn은 Mac, Windows, Linux에서 동작하며, Windows 지원은 베타예요. 네이티브 Windows에서는 PowerShell에서 설치하세요.

irm https://claudecodenotifier.com/install.ps1 | iex

Claude Code 설정에 자체 hook 항목만 추가하고 나머지 내용은 그대로 두며, 백업도 남겨요. 설치하자마자 Claude가 작업을 끝내거나, 권한이 필요하거나, 질문을 할 때 Windows 토스트를 띄워 줘요. 휴대폰도 네트워크도 필요 없어요. terminal이 아니라 Claude Code에 hook으로 연결되기 때문에 Windows Terminal, PowerShell, IDE terminal에서 모두 똑같이 동작해요.

Claude Code를 WSL에서 실행한다면 Claude Code와 설정이 그곳에 있으므로, Linux용 명령으로 WSL 안에 ccn을 설치하세요.

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

그다음 ccn test를 실행하세요. WSL 안에서 보낸 데스크톱 알림이 Windows 데스크톱까지 오는지는 WSL 설정에 따라 달라서, WSL에서는 휴대폰을 쓰는 게 확실해요. 휴대폰을 페어링하면 이벤트가 push 알림으로 오고, 휴대폰에서 권한을 한 번 허용, 세션 동안 허용, 거부할 수 있으며 Claude의 질문에 답하고 다음 지시도 보낼 수 있어요. 휴대폰 페어링, ccn 페이지, 휴대폰 앱 요금제를 참고하세요.

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

07FAQ

Windows에서 PowerShell hook이 아무 동작도 하지 않는 이유는 뭔가요?

먼저 똑같은 명령을 PowerShell에서 직접 실행해 보세요. 거기서 잘 된다면 /hooks에 hook이 표시되는지, JSON 이스케이프가 올바른지(안쪽의 "마다 백슬래시가 필요해요) 확인하세요. BurntToast를 쓴다면 Claude Code를 실행하는 사용자와 같은 사용자로 모듈을 설치했는지, 방해 금지 모드가 꺼져 있는지도 확인하세요.

Windows의 Claude Code에서 hook을 쓰려면 Git Bash가 필요한가요?

아니요. Git for Windows가 설치되어 있으면 hook은 Git Bash에서, 없으면 PowerShell에서 실행돼요. 개별 hook에 "shell": "powershell"을 지정할 수도 있어요.

WSL에서 notify-send가 동작하나요?

Windows 데스크톱에는 보통 알림이 뜨지 않아요. 위에서 보여준 것처럼 hook에서 WSL interop을 통해 powershell.exe를 호출하는 방법이 가장 확실해요.

Windows Terminal이 자체적으로 Claude Code 알림을 띄울 수 있나요?

기본 설정으로는 안 돼요. preferredNotifChannel을 terminal_bell로 설정하고 창이나 작업 표시줄을 깜빡이게 하는 bellStyle을 고르거나, toast 알림용 hook을 사용하세요.

Windows 알림을 무료로 받는 방법이 있나요?

네. 위의 PowerShell hook과 ccn의 데스크톱 알림은 모두 무료예요. 휴대폰 앱만 구독이나 평생 이용권 구매가 필요해요.

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

관련 가이드

  • Claude Code hook 완벽 정리: 모든 이벤트와 용도Claude Code hook이 무엇인지, settings.json의 어디에 넣는지, matcher와 입력, exit code가 어떻게 동작하는지, 그리고 각 hook 이벤트의 용도를 알아봐요.
  • Claude Code Notification hook: 언제 실행되고 어떻게 쓰는지Claude Code의 Notification hook이 언제 실행되는지, permission_prompt와 idle_prompt의 의미, 받는 입력, 그리고 실행 전에 기다리는 이유를 알아봐요.
  • Linux에서 Claude Code 알림 받기Claude Code가 작업을 마치거나 입력이 필요할 때 Linux 데스크톱 알림을 받는 방법: notify-send hook, 사운드, terminal escape sequence, 또는 ccn.
  • VS Code, Cursor, JetBrains 터미널에서 Claude Code 알림 받기Claude Code가 작업을 마쳐도 IDE 터미널이 조용한 이유와, 설정이나 hook으로 VS Code, Cursor, JetBrains에서 알림을 받는 방법을 알아봐요.
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).