夜間や会議中に Claude Code の通知を鳴らさないようにするには、3 つのレイヤーがあります。hook 自体(指定時間内は送信しない)、OS(iPhone と Mac の集中モード、Android・Windows・Linux のサイレントモード)、そして通知を送るツールです。Claude Code 自体にはおやすみ時間の設定がないため、スケジュールは hook スクリプト、スマートフォン、通知ツールのいずれかで管理する必要があります。Claude Code Notifier なら、ccn config set quiet_hours 22:00-08:00 の 1 行で設定できます。
レイヤーごとに動作が異なるので、どれを選ぶかは重要です。hook を止めると何も送信されません。サイレントモードのスマートフォンは通知を受け取りますが、音は鳴りません。以下でそれぞれの方法と使いどころを説明します。
01Claude Code における「静かにする」の意味
設定を始める前に、おやすみ時間中に届いたリクエストをどう扱いたいかを決めておきましょう。通知には 3 種類あります。
- Claude の作業完了。保留しても問題ありません。見たときに確認すれば十分です。
- Claude が権限を求めている。Claude Code は誰かが応答するまでプロンプトで待機します。通知が届かなければ、戻るまでセッションは止まったままです。
- Claude が質問している。権限と同じく、セッションは待機します。
つまり、おやすみ時間は睡眠と作業の進捗のトレードオフです。寝る前に長いタスクを始めるなら、「完了」通知は消音しつつ、待機中のリクエストは朝に確認できるようにしておくとよいでしょう。確認なしで夜通し 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 で終了することです。それ以外のコードではトランスクリプトに 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 も含めてすべてオフになるので、注意して使ってください。
Claude Code 自体の通知
Claude Code に組み込まれた terminal 通知は preferredNotifChannel で制御します。これを "notifications_disabled" に設定するとこれらの通知は止まりますが、hook は止まらず引き続き実行されます。その他の値については terminal ベルのガイドを参照してください。
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 の作業を止めている通知だけが届くようになります。これらの設定の多くはスマートフォンアプリからコンピューターごとに変更できるので、仕事用ノート PC と自宅のデスクトップで時間帯が違う場合に便利です。現在有効な設定は ccn config show で確認でき、スマートフォンで行った変更は ccn sync で反映できます。
逆に、夜は静かに過ごしつつ Claude には作業を続けさせたい場合は、離席ワークフローで、セッションを動かしたままにして好きなときにスマートフォンから応答する方法を紹介しています。
06よくある質問
Claude Code に通知停止時間の設定はありますか?
ありません。Claude Code はイベントが発生するたびに hook を実行し、スケジュール機能はありません。hook スクリプトに時刻チェックを入れるか、スマートフォンの集中モードやサイレントモードを使うか、ccn の quiet_hours のように通知停止時間を備えたツールを使ってください。
通知停止時間中の許可リクエストはどうなりますか?
Claude Code は誰かが応答するまで prompt で待機します。通知停止時間で止まるのは通知だけです。確認なしで Claude に作業を続けさせたい場合は、離席前に permission モードを変更するか、許可ルールを追加してください。
スマートフォンのおやすみモードで Claude Code の通知はブロックされますか?
消音されますが、通知自体は届いて通知一覧に残ります。iPhone と Android では例外を追加して、おやすみモード中でも特定のアプリだけ通知させることができます。
「Claude の処理が完了しました」の通知だけを止められますか?
はい。自作のセットアップなら、Stop hook を削除するか時間で制限します。ccn では ccn config set notify_on_done off を実行すれば、許可リクエストと質問の通知はそのまま残ります。
ccn の通知停止時間はどのタイムゾーンを使いますか?
コンピューターのローカル時刻です。出張などで移動した場合も、Claude Code を実行しているコンピューターの時計に従います。