Cursor와 같은 도구는 IDE에 잘 연결되어 있어서 세세한 기능이 Claude Code 보다 좋다 느낄 때가 있다. 그 중 한가지는 시간이 오래 걸리는 작업을 하고 있을 때 완료되면 작업이 완료되었다고 알려주는 기능이다.
Claude Code의 새로운 hooks 기능이 개발자들 사이에서 화제가 되고 있는데, 이 기능을 사용하면 작업 세션이 완료될 때마다 자동으로 알림을 받을 수 있어, 다른 작업을 하면서도 Claude의 작업 진행 상황을 놓치지 않을 수 있다.
Claude Code Hooks란?
Claude Code hooks는 Claude의 작업 생명주기에서 특정 시점에 사용자 정의 스크립트를 실행할 수 있게 해주는 기능입니다. 다음과 같은 시점에서 작동합니다:
- UserPromptSubmit: 사용자가 프롬프트를 제출하기 직전
- PreToolUse: Claude가 도구를 사용하기 직전
- PostToolUse: Claude가 도구 사용을 완료한 직후
- Notification: 사용자에게 알림이 필요한 시점
- Stop: 세션이 완료된 시점
이 중에서 Stop 이벤트를 활용하면 작업 완료 시 자동으로 알림을 받을 수 있습니다.
Windows 데스크톱 알림 구현하기
1단계: PowerShell 알림 스크립트 생성
먼저 Windows 토스트 알림을 생성하는 PowerShell 스크립트를 만들어보자.
파일 위치: C:\Users\[사용자명]\bin\auto-notification.ps1
# Auto-disappearing notification
param(
[string]$Title = "Claude Code",
[string]$Message = "Task completed",
[int]$Duration = 2
)
Add-Type -AssemblyName System.Windows.Forms
# Create a form that will auto-close
$form = New-Object System.Windows.Forms.Form
$form.Text = $Title
$form.Size = New-Object System.Drawing.Size(400, 150)
$form.StartPosition = "CenterScreen"
$form.FormBorderStyle = "FixedDialog"
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.TopMost = $true
$form.BackColor = [System.Drawing.Color]::LightBlue
# Add label for message
$label = New-Object System.Windows.Forms.Label
$label.Text = $Message
$label.Size = New-Object System.Drawing.Size(380, 80)
$label.Location = New-Object System.Drawing.Point(10, 30)
$label.TextAlign = "MiddleCenter"
$label.Font = New-Object System.Drawing.Font("Arial", 10)
$form.Controls.Add($label)
# Timer to auto-close
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = $Duration * 1000
$timer.Add_Tick({
$form.Close()
$timer.Stop()
})
# Show form and start timer
$timer.Start()
$form.ShowDialog() | Out-Null
Write-Host "Notification displayed for $Duration seconds"
2단계: Claude Code 설정 파일 생성
Claude Code가 알림 스크립트를 실행하도록 설정한한다.
파일 위치: C:\Users\[사용자명]\.claude\settings.json
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell -ExecutionPolicy Bypass -File \"C:\\Users\\[사용자명]\\bin\\auto-notification.ps1\" -Title \"✅ Claude 작업 완료\" -Message \"AI 코딩 세션이 완료되었습니다!\" -Sound \"Notification.SMS\""
}
]
}
]
}
}
3단계: PowerShell 실행 정책 설정
보안을 위해 PowerShell 스크립트 실행 정책을 설정해야 한다. VS Code와 Claude Code를 연동하고 있다면 이 동작을 미리 했을 수 있다. 관리자 권한으로 PowerShell을 열고 다음 명령어를 실행하자:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
4단계: 디렉토리 생성 및 파일 설정
필요한 디렉토리를 생성하고 파일을 배치한다:
mkdir C:\Users\[사용자명]\bin
mkdir C:\Users\[사용자명]\.claude
중요: [사용자명] 부분을 실제 Windows 사용자명으로 교체해야 한다.
실제 사용 경험
이 설정을 완료한 후 Claude Code를 사용하면:
- 명령어 실행:
claude명령어로 AI 코딩 세션 시작 - 작업 진행: Claude와 대화하며 코딩 작업 수행
- 세션 종료: 작업 완료 후 자동으로 Windows 토스트 알림 표시
- 멀티태스킹: 다른 앱을 사용하다가도 알림으로 작업 완료를 즉시 확인 가능
사용 사례 및 활용 팁
프로젝트별 맞춤 알림
특정 프로젝트에서만 작동하는 알림을 설정하려면 프로젝트 폴더에 .claude/settings.local.json 파일을 생성하자:
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell -ExecutionPolicy Bypass -File \"C:\\Users\\[사용자명]\\bin\\auto-notification.ps1\" -Title \"🚀 [프로젝트명] 완료\" -Message \"프로젝트 작업이 완료되었습니다!\" -Sound \"Notification.Default\""
}
]
}
]
}
}
확장 가능성
이 기본 설정을 바탕으로 다음과 같은 고급 기능들도 구현할 수 있다:
- 이메일 알림: 중요한 작업 완료 시 이메일 발송
- 슬랙 메시지: 팀 채널에 작업 완료 알림
- 파일 백업: 작업 완료 시 자동으로 파일 백업
- 로그 기록: 모든 세션 기록을 자동으로 저장
- Git 연동: 작업 완료 시 자동 커밋
문제 해결
토스트 알림이 표시되지 않는 경우
- Windows 알림 설정 확인: 설정 > 시스템 > 알림에서 알림이 활성화되어 있는지 확인
- 포커스 어시스트 설정: 집중 지원 모드에서도 알림이 표시되도록 설정
- 권한 문제: 스크립트 실행 권한이 올바르게 설정되었는지 확인
PowerShell 실행 오류
실행 정책 오류가 발생하면 다음 명령어로 해결할 수 있습니다:
Unblock-File "C:\Users\[사용자명]\bin\claude-notification.ps1"
결론
Claude Code hooks를 활용하면 개발 혹은 업무 자동화에 용이하다. 단순한 알림부터 시작해서 복잡한 워크플로우 자동화까지 확장할 수 있다. 특히 긴 분석 작업이나 복잡한 코드 생성 작업을 수행할 때, 다른 업무를 처리하면서도 Claude의 작업 완료를 놓치지 않을 수 있다.
'Agentic Coding' 카테고리의 다른 글
| Claude Code 자동화 실행 환경 & 설정 가이드 (0) | 2025.11.24 |
|---|---|
| Firebase Auth 완전 가이드 - 정적 페이지부터 앱 연동까지 (0) | 2025.11.19 |
| AI로 내 문제 풀기-비개발자와 개발자가 함께 문제를 탐구한 실험 (0) | 2025.11.16 |
| Claude Code로 Obsidian 개인 메모 자동화 실험기 (2) | 2025.11.12 |
| Claude Code Study 4일간의 여정: 단순한 코딩 도우미를 넘어선 Agent 기반 자동화 도구 (0) | 2025.11.10 |