【はじめに】
Claude Codeにremote control機能が追加されました。
公式での実装はありがたく、pc前にいなくても操作できることが強みですが、まだまだ改善点が多く、現状claude codeの通知機能が無いのでなるべく簡単に独自に実装する方法を記載します。
(基本的には本記事のソースコピペで動くと思いますが、動かなければAIに聞いてもらえれば多分動きます。)
【使用機能】
Claude Code の hook 機能:
イベント発生時にスクリプトを実行できる。
応答完了・許可待ち・autocompact など、通知内容をイベントごとに変えられる
Claude Code の statusline:
ステータスバーにはコンテキスト使用率が渡ってくる。
これをファイルに書き出して通知に含める(hook 側にはこの情報が来ないため)
Webhook:
Discord / Slack 等
【通知の種類】
応答完了時 → "応答完了""
許可待ち時 → "許可待ち"
autocompact時 → "Auto-Compact発動"
また、statuslineを使うことで↑のような通知文に「Context: XX%」も表示されるようにすることも可能です。
【ディレクトリ例】
【手順】
1.Discord(または Slack等)で Webhook URL を作成
2.下記のソースを各パスに配置
※notify.sh の WEBHOOK_URL= を自分の Webhook URL に書き換えてください
※settings.local.json の /absolute/path/to/notify.sh を実際の絶対パスに書き換えてください
【ソース例】※正しいディレクトリにおけばほぼコピペで動くと思います。
notify.sh
notify.sh
.claude/settings.local.json