Claude Code · iPhone

Claude Codeの通知をiPhoneで受け取る方法

Claude Codeがタスクを終えたときや承認プロンプトで止まったときに、離席中でもiPhoneへ通知を届ける3つの方法をワークフロー別に比較します。

brew install --cask n2ctech/tap/notiferry

最終更新: · macOS 15.0 以降対応 · 7日間無料トライアル

要点まとめ

  • 対象のClaudeプランでRemote Controlを使っている場合は、/config から公式モバイルプッシュを有効化できます。
  • Claude Codeの通知だけを無料で受け取りたい場合は、~/.claude/settings.json の Notification フックから curl で ntfy.sh へPOSTします。
  • Claude Codeに加えてCursor、Codex、XcodeなどMac全体の通知を1つのチャンネルにまとめたい場合は、NotiFerryでmacOS通知センターを転送します。
  • いずれの方法でも、タスク実行中はMacが起きている必要があります。

Mac上のClaude Codeにおけるデフォルトの通知動作

Claude Codeがタスクを終えたとき、またはコマンド実行の許可(permission prompt)を求めて停止したとき、ターミナルがバックグラウンドにあると通知イベントが発生します。ただし実際にバナーが表示されるかどうかは使用しているターミナルアプリによって異なります。Claude Code公式のターミナル設定ドキュメントによると、標準でデスクトップ通知が送られるのは Ghostty、Kitty、iTerm2 の3つです。Apple標準の「ターミナル.app」などその他のターミナルでは、ベルまたはフックを設定しない限りバナーは表示されません。

  • Ghostty / Kitty: そのままmacOSの通知センターへ通知が送られます。
  • iTerm2: 「Settings → Profiles → Terminal」で Notification Center Alerts にチェックを入れ、「Filter Alerts」で Send escape sequence-generated alerts を有効にします。
  • tmux内での実行: allow-passthrough を有効にしないとエスケープシーケンスが遮断されます。

いずれの場合も、標準のままでは通知はMacの画面にしか出ません。席を外しているときにiPhone(やApple Watch)で受け取るには、次の3つの方法があります。

方法1:Claude Code組み込みのモバイルプッシュ通知(Remote Control)

Claude CodeのセッションをRemote Controlで接続している場合、iPhoneのClaude公式アプリへ直接プッシュ通知を送ることができます。

  1. iPhoneにClaudeアプリをインストールし、Claude Codeと同じアカウントでログインします。
  2. iOSの通知許可をオンにします。
  3. Remote Controlを有効にしてセッションを開始します。
  4. ターミナル内で /config を実行し、Push when Claude decides または Push when actions required をオンにします。

Remote Controlのドキュメントに記載されている通り、この機能はPro・Max・Team・Enterpriseプラン対象で、APIキー利用やサードパーティプロバイダ経由では利用できません。またセッション自体はMac上で動くため、Macがスリープしないようにしておく必要があります。

方法2:Notificationフックからcurlでntfyへ直接送信する(無料)

Claude CodeのHooks機能を使うと、通知イベント発生時に任意のシェルコマンドを実行できます。Notification フックで無料のプッシュ配信サービス ntfy にPOSTすれば、APIキー利用時やどのターミナルでも確実にiPhoneへ通知を送れます。iPhoneに無料のntfyアプリを入れて推測されにくいトピック名を購読し、~/.claude/settings.json に以下を追加します:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "curl -s -d 'Claude Codeが確認を待っています' https://ntfy.sh/your-private-topic"
          }
        ]
      }
    ]
  }
}

空の matcher はすべての通知イベントに一致します。承認待ちだけを受け取りたい場合は permission_prompt、入力待ちだけなら idle_prompt を指定してください。設定後、Claude Code内で /hooks を実行すると登録状態を確認できます。

方法3:NotiFerryでmacOS通知センターごとiPhoneへ転送する

3つ目の方法は、Claude Codeを他のMacアプリと同じように扱い、macOSの通知センターに届いた通知を NotiFerry でまとめてiPhoneへ転送するやり方です。

Ghostty、Kitty、設定済みのiTerm2ならすでに通知センターへバナーが届いています。Apple標準のターミナル.appなどを使う場合は、公式ドキュメントにある osascript フックを ~/.claude/settings.json に設定します:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Codeが確認を待っています\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

macOS上ではこの通知は「スクリプトエディタ(Script Editor)」からの通知として扱われます。一度ターミナルで osascript -e 'display notification "test"' を実行し、「システム設定 › 通知」でスクリプトエディタの通知を許可してください。

あとは NotiFerryをセットアップ するだけです。デフォルトの「タイトルのみ」モードなら通知本文をMacの外へ出さずに済み、同一アプリの通知が短時間に5件以上溜まって配信が30秒以上遅れた場合は最新1件に自動集約されます(10分以上経過した古い通知は破棄されます)。また、Cursor、Codex Macアプリ、Xcode、FinderなどClaude Code以外のMacアプリの通知も同じntfyチャンネルで一括受信できます。NotiFerryがプロンプトやソースコードを読み取ることはありません。

3つの方法の比較と選び方

方法必要なものカバー範囲費用
公式モバイルプッシュRemote Control・対象Claudeプラン・Claude iOSアプリRemote Control接続中のClaude Codeセッションプランに含まれる
ntfy フック(curl)settings.jsonの数行の設定 + iPhoneのntfyアプリこのMac上のすべてのClaude Codeセッション無料
NotiFerryMacのNotiFerry + iPhoneのntfyアプリClaude Codeに加え、Cursor・Codex・Xcodeなど全Macアプリ無料トライアル後、買い切り

手首のApple Watchで通知を受け取りたい場合は、ntfyでMacの通知をApple Watchに届けるガイドもあわせてご覧ください。

macOSメニューバー常駐

MacとiPhoneでの動作イメージ

macOSの通知センターフォルダに読み取り専用アクセスを許可し(フルディスクアクセス不要)、iPhoneの無料アプリ「ntfy」で専用トピックを購読します。テスト通知の受信を確認すると、7日間の無料トライアルが開始されます。

7日間無料トライアルをダウンロード
brew install --cask n2ctech/tap/notiferry
iPhoneに届く通知の例(ntfyアプリ内)
ntfyたった今

Claude Code — Permission required

Allow Bash tool in notiferry? · 全文表示 または タイトルのみ

ntfy · バースト集約2分前

Xcode — Build Succeeded (+4 earlier alerts)

macOS上のNotiFerryダッシュボード画面。通知転送が有効で、セッション中に9件の通知が転送され、プライバシーモードとiPhoneへのテスト送信ボタンが表示されている様子
macOS版NotiFerry:転送ステータス、プライバシーモード選択、iPhoneでのテスト受信確認。

よくある質問

Apple標準の「ターミナル.app」でClaude Codeの通知が出ないのはなぜですか?

Claude Codeが標準でデスクトップ通知エスケープシーケンスを送るのはGhostty、Kitty、iTerm2のみだからです。標準のターミナル.appでは、~/.claude/settings.json に osascript または curl を使う Notification フックを追加してください。

Claude Code単体でiPhoneへプッシュ通知を送れますか?

はい。Pro、Max、Team、EnterpriseプランでRemote Controlを使用し、iPhoneにClaude公式アプリをインストールしている場合は、/config からモバイルプッシュ通知を有効にできます。

NotiFerryはClaude Codeのプロンプトやコードを読み取りますか?

いいえ。NotiFerryが読み取るのはmacOSの通知センターに記録された通知テキストのみで、プライバシーフィルタを適用してからntfyトピックへ送信します。ターミナルのセッションやソースコードファイルには一切アクセスしません。

タスク実行中、Macはスリープさせない必要がありますか?

はい。どの方法を使う場合でも、Claude CodeはMac上でローカル実行されているため、Macがスリープすると処理自体が一時停止し、通知も送られません。

ファウンディングリリース

Claude Codeもその他のMacアプリも、1つの通知チャンネルでiPhoneへ。

7日間の無料トライアルは、テスト通知が実際にiPhoneへ届いたことを確認してから開始されます。その後は買い切りライセンス(€9.99・最大2台のMacで利用可能、サブスクリプションなし)で継続利用できます。購入後30日以内の全額返金保証付き(強行法規に基づく消費者の権利は影響を受けません)。

7日間無料トライアルをダウンロードまたは今すぐライセンスを購入 · €9.99
brew install --cask n2ctech/tap/notiferry
買い切り(サブスクなし) · 最大2台のMac · 定期的なオンラインライセンス認証