밤이나 회의 중에 Claude Code 알림을 조용히 하려면 세 가지 계층을 활용할 수 있어요. hook 자체(정해진 시간에는 보내지 않기), 운영체제(iPhone과 Mac의 집중 모드, Android, Windows, Linux의 방해 금지), 그리고 알림을 보내는 도구예요. Claude Code에는 자체 방해 금지 시간 설정이 없어서 일정은 hook 스크립트나 휴대폰, 알림 도구에서 관리해야 해요. Claude Code Notifier를 쓰면 ccn config set quiet_hours 22:00-08:00 한 줄이면 돼요.
계층마다 동작이 달라서 어떤 걸 고르느냐가 중요해요. 조용한 hook은 아무것도 보내지 않아요. 방해 금지 상태의 휴대폰은 알림을 받긴 하지만 소리를 내지 않아요. 아래에서 각 방법과 언제 쓰면 좋은지 설명할게요.
01Claude Code에서 '조용히'의 의미
설정하기 전에, 방해 금지 시간에 들어온 요청을 어떻게 처리할지 먼저 정하세요. 알림은 세 종류가 있어요.
- Claude가 작업을 마쳤을 때. 미뤄도 괜찮아요. 나중에 확인하면 돼요.
- Claude에게 권한이 필요할 때. Claude Code는 누군가 응답할 때까지 prompt에서 기다려요. 알림이 오지 않으면 돌아올 때까지 세션이 멈춰 있어요.
- Claude가 질문했을 때. 권한 요청과 마찬가지로 세션이 기다려요.
결국 방해 금지 시간은 수면과 작업 진행을 맞바꾸는 셈이에요. 자기 전에 긴 작업을 시작한다면 '완료' 알림은 끄되 아침에 대기 중인 요청은 확인할 수 있게 하고 싶을 거예요. 밤새 묻지 않고 계속 작업하게 하고 싶다면 그건 알림이 아니라 권한 모드에서 정할 일이에요.
02직접 만든 hook에 방해 금지 시간 넣기
Claude Code는 이벤트가 발생할 때마다 hook 명령을 실행해요. 방해 금지 시간을 넣으려면 스크립트 맨 앞에서 시간을 확인하고 일찍 종료하면 돼요. 데스크톱 알림, ntfy push, 채팅 메시지를 보내는 어떤 hook에도 쓸 수 있어요.
Mac과 Linux에서는 아래 내용을 ~/.claude/hooks/notify.sh로 저장하고 chmod +x로 실행 권한을 주세요.
#!/bin/sh
# Quiet between 22:00 and 08:00, local time
hour=$(date +%H)
if [ "$hour" -ge 22 ] || [ "$hour" -lt 8 ]; then
exit 0
fi
# Your real notification command goes here, for example:
notify-send "Claude Code" "Claude has finished"
Mac에서는 마지막 줄을 osascript 명령으로 바꾸세요. macOS 가이드에 예시가 있어요. 그런 다음 ~/.claude/settings.json에서 hook이 이 스크립트를 가리키도록 설정하세요.
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "~/.claude/hooks/notify.sh" }
]
}
]
}
}
핵심은 종료 코드 0으로 끝내는 거예요. 다른 코드를 쓰면 transcript에 hook 오류가 표시되고, Stop hook에서 종료 코드 2를 쓰면 Claude에게 작업을 계속하라고 전달되는데, 여기서 원하는 동작이 아니에요.
Windows에서는 PowerShell에서 (Get-Date).Hour로 같은 확인을 하면 돼요. 전체 PowerShell hook은 Windows 가이드에 있어요.
hook 완전히 일시 중지하기
한 번만 조용한 세션을 원한다면 모든 hook을 끈 채로 Claude Code를 시작하세요.
claude --settings '{"disableAllHooks": true}'
이 설정은 해당 세션에만 적용돼요. 설정 파일에 "disableAllHooks": true를 넣으면 지울 때까지 hook이 꺼져 있어요. 코드 포맷이나 명령 차단용 hook까지 모든 hook이 꺼지니 주의해서 사용하세요.
Claude Code 자체 알림
Claude Code의 기본 terminal 알림은 preferredNotifChannel로 제어해요. 이 값을 "notifications_disabled"로 설정하면 해당 알림이 꺼져요. 하지만 hook은 멈추지 않고 계속 실행돼요. 다른 값은 terminal bell 가이드에서 확인하세요.
03휴대폰의 집중 모드와 방해 금지 모드
알림을 휴대폰으로 받는다면 휴대폰 자체의 무음 모드가 가장 간단한 방법이에요. 어떤 도구가 알림을 보내든 똑같이 작동해요.
- iPhone: 집중 모드(설정 > 집중 모드)로 정해진 시간에 알림을 무음으로 만들 수 있어요. 무음 중에도 알림을 보낼 수 있는 앱을 따로 고를 수 있어요. 밤에도 Claude Code 알림을 받고 싶다면 앱을 허용 목록에 추가하고, 조용히 지내고 싶다면 추가하지 마세요. 알림은 알림 센터에 쌓여 있어요.
- Android: 방해 금지 모드(기기에 따라 설정의 알림 또는 소리 메뉴에 있어요)도 일정과 앱 예외를 지원해서 똑같이 쓸 수 있어요. 각 앱의 알림 설정에서 해당 앱만 소리나 진동을 끌 수도 있어요.
휴대폰에서 설정하면 알림이 사라지지 않는다는 장점이 있어요. 알림은 그대로 도착해서 기다리고 있어요. 단점은 휴대폰 전체에 적용된다는 점이에요. 그래서 Claude Code만이 아니라 저녁 시간 전체를 기준으로 한 번 설정하게 돼요.
04컴퓨터에서 알림 끄기
컴퓨터에서는 Mac의 집중 모드, Windows의 방해 금지 모드, 대부분의 Linux 데스크톱에 있는 방해 금지 토글로 hook이 보내는 데스크톱 알림을 끌 수 있어요. 화면 공유 중에 프로젝트 이름이나 명령어가 담긴 배너가 뜨는 걸 막고 싶을 때 유용해요.
05Claude Code Notifier의 방해 금지 시간
Claude Code Notifier는 Anthropic이 만든 게 아닌 독립 도구예요. 커맨드라인 도구인 ccn은 Mac, Windows, Linux에서 Claude Code hook으로 실행되고, 페어링된 iPhone이나 Android 휴대폰으로 알림을 보내요. 무음 설정이 내장되어 있어서 스크립트를 직접 수정할 필요가 없어요.
ccn config set quiet_hours 22:00-08:00
방해 금지 시간에는 ccn이 휴대폰으로 아무것도 보내지 않고, 휴대폰 응답을 기다리지도 않아요. Claude Code는 평소처럼 terminal에서 물어보고, 돌아오면 그 요청이 그대로 남아 있어요. 이 시간에는 컴퓨터의 데스크톱 알림도 보류돼요. ccn config set quiet_hours off로 일정을 다시 끌 수 있어요.
그 밖에 도움이 되는 설정:
quiet_when_present기본적으로 켜져 있어요. Claude가 실행 중인 terminal 앞에 있는 동안에는 휴대폰으로 아무것도 보내지 않아요.notify_on_done끄면 "Claude 작업 완료" 알림은 오지 않고, 권한 요청과 질문 알림은 그대로 받아요.notify_on_permission, notify_on_question각 요청 유형을 따로 끌 수 있어요.sound알림 소리를 설정해요.desktop_notifications이 컴퓨터의 데스크톱 알림을 켜거나 꺼요.예를 들어 ccn config set notify_on_done off를 실행하면 Claude를 멈추게 하는 알림만 받아요. 이 설정 대부분은 휴대폰 앱에서 컴퓨터별로 바꿀 수도 있어서, 업무용 노트북과 집 데스크톱의 시간대가 다를 때 편리해요. 현재 적용된 설정은 ccn config show로 확인하고, 휴대폰에서 바꾼 내용은 ccn sync로 가져오세요.
반대로 조용한 저녁을 보내면서도 Claude가 계속 작업하게 하고 싶다면, 자리 비우기 워크플로에서 세션을 실행해 두고 원할 때 휴대폰으로 응답하는 방법을 확인하세요.
06FAQ
Claude Code에 방해 금지 시간 설정이 있나요?
없어요. Claude Code는 이벤트가 발생할 때마다 hook을 실행하고, 실행 일정을 정하는 기능은 없어요. hook 스크립트에 시간 확인 로직을 넣거나, 휴대폰의 집중 모드나 방해 금지 모드를 쓰거나, ccn의 quiet_hours처럼 방해 금지 시간이 내장된 도구를 쓰세요.
방해 금지 시간에 권한 요청이 오면 어떻게 되나요?
Claude Code는 누군가 응답할 때까지 prompt에서 기다려요. 방해 금지 시간은 알림만 막아요. Claude가 묻지 않고 계속 작업하길 원한다면 자리를 비우기 전에 권한 모드를 바꾸거나 허용 규칙을 추가하세요.
휴대폰의 방해 금지 모드가 Claude Code 알림을 차단하나요?
소리만 꺼지고, 알림은 그대로 도착해서 알림 목록에 남아 있어요. iPhone과 Android에서는 예외를 추가해서 특정 앱만 방해 금지 중에도 알림을 보내게 할 수 있어요.
"Claude 작업 완료" 알림만 끌 수 있나요?
네. 직접 구성한 환경이라면 Stop hook을 제거하거나 시간 제한을 걸면 돼요. ccn에서는 ccn config set notify_on_done off를 실행하면 권한 요청과 질문 알림은 그대로 유지돼요.
ccn의 방해 금지 시간은 어떤 시간대를 기준으로 하나요?
컴퓨터의 현지 시간이에요. 여행 중이라면 Claude Code를 실행하는 컴퓨터의 시계를 따라가요.