Claude Code のスマホ通知:完了を知る3つの方法
2026-07-17
長い Claude Code の実行は、ときどき止まって入力を待ちます。プランの承認、質問への回答、diff のレビュー。応答するまで止まったままです。以下は、そのときスマホで通知を受け取る3つの方法と、受け取ったあとにそれぞれでできることです。
方法1:hooks + ntfy で自作
Claude Code にはライフサイクルイベントで発火する hooks があります。Stop フックを ntfy.sh のようなプッシュサービスに向ければ、エージェントが止まった瞬間にスマホが鳴ります:
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "curl -s -d 'Claude Code finished' ntfy.sh/your-topic"
}]
}]
}
}
長所:無料で透明、どこでも動く。短所:マシンごとの設定と保守が必要、通知に文脈がない、対応するにはターミナルを探して手で re-attach する必要がある。
方法2:公式プッシュ通知
最近の Claude Code は、Remote Control と対になる公式 Claude アプリ経由のプッシュ通知を追加しました。セッションが公式管理のフローで動いているなら、設定は不要です。対象は Claude アプリから見えるセッションだけで、返答は自分のサーバー上のターミナルではなく Remote Control の画面から行います。
方法3:ServerCC
ServerCC は SSH 経由で自分のサーバー上のエージェントを動かし、tmux の中で動かすこともできます。「バックグラウンド実行」でセッションを離れ、エージェントが作業中からアイドルに変わると、ServerCC がローカル通知を送ります。ServerCC で起動したセッション、持続 tmux セッション、アタッチしたホストの tmux ペインが対象です。通知はセッションごとにバックグラウンド 1 回につき最大 1 回で、ワークスペースの設定でミュートもできます。
通知をタップするとアプリに戻ります。セッションは実行中タブにあり、タップするとターミナルの出力を保ったまま再接続します。そこからプランを承認する、回答を入力する、git diff を確認する、別のセッションを始める、といった操作ができます。
どれを使うべき?
- セッションが公式管理のフローで動いているなら、公式プッシュで十分です。設定は要りません。
- 構成を自分で組みたいなら、hooks + ntfy は無料でスクリプトも書けます。
- エージェントを自分のサーバーで動かしていて、通知のあとスマホから返答したいなら ServerCC を使います。通知、ターミナル、git diff が同じアプリにあります。
組み合わせることもできます。たとえば CI のメッセージは ntfy、エージェントのセッションは ServerCC。サーバーの追加手順はクイックスタートにあります。