こちらの記事でClaude Code のタスク完了をスマホに通知できるようにしたのですが、適切なタイミングで通知を送ってくれず、困っていました。そんな中公式から /hooks
という新機能が追加され、 「これを使ったら解決したよ」 というお話です。
TL;DR
/hooksとは?
Claude Codeが特定のタイミングで必ず実行するコマンドを設定しておける機能
現在は下記の4つのタイミングにコマンドを設定できるみたいです
- PreToolUse: Claude がツール パラメータを作成した後、ツール呼び出しを処理する前に実行されます。
- PostToolUse:ツールが正常に完了するとすぐに実行されます。
- Notification: Claude Code が通知を送信するときに実行されます。
- Stop: Claude Code が応答を終了したときに実行されます。
詳しくはこちらの公式ドキュメントを参照ください!
これを使えば承認依頼やタスク完了時に通知を飛ばせる…?
Notificationsは承認依頼時、Stopはタスク完了時に特定のコマンドを実行できると解釈できます。ntfy を使えばcurlコマンドでスマホに通知を飛ばせるので早速試してみます。
/hooksの設定方法
Claude Codeを起動し、/hooks
を実行すると下記の画面が表示されます。
Stop
を選択し、Add new hook...
を選択すると
のようにコマンドの入力を求められるので、 下記のntfyの通知コマンドを入力します
curl -H \"Title: Claude Code\" -d \"タスク完了通知です\" ntfy.sh/topic>
上記の流れで Notifications
にも設定します。
ntfyの設定
ntfyとは、HTTPベースでシンプルにプッシュ通知を送れるサービスです。Android/iOSどちらも対応していて無料で使えます。
モバイルアプリのインストール
OS ごとのアプリは以下の通り。
以降は iOS での設定を説明します。非常にシンプルなアプリなので Android の場合もほぼ同様に設定できると思います。
トピックの登録
ntfy では「トピック」という概念で通知を管理します。トピックは任意の文字列で、これが通知の宛先となります。先ほどのコマンド登録時に
で設定した文字列を登録します。
- 「+」ボタンをタップ
- トピック名を入力して「Subscribe」をタップ
これで、このトピックに送信された通知がスマートフォンで受信できるようになります。
試してみる
設定が完了したので試してみる。とりあえず無茶振りしてみる。
ちゃんと通知がきた!
今度は承認依頼が必要なタスクを投げてみる。
承認依頼が出てからしばらくすると…
おおおおおお!
まとめ
というわけで、Claude Codeに承認依頼・タスク完了時の通知を飛ばせるようになりました。昨日までうまくタイミングをコントロールできずに四苦八苦してたのが嘘みたいです!
最後に冒頭のポストをまとめとして貼り直しておきます。
最近ClaudeCodeを使い倒しているのでよろしければフォローお願いします!
Views: 0