claude-code-notifier
使い方 ガイド よくある質問
◐日本語
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
はじめる
すべてのガイド

Linux で Claude Code の通知を受け取る

更新日: 2026年10月31日 · 6 分で読めます
このページの内容 01Claude Code 標準の通知動作 02notify-send をインストールする 03Notification hook 04Claude の完了をすぐに知る 05実際のメッセージを表示し、サウンドも鳴らす 06notify-send がない場合はエスケープシーケンスを使う 07notify-send がシェルでは動くのに Claude Code からは動かない場合 08Claude Code Notifier の位置づけ 09よくある質問

Linux では、Claude Code が自らデスクトップ通知を送るのは Ghostty や Kitty など一部のターミナルだけです。それ以外の環境では、notify-send 'Claude Code' 'Claude Code needs your attention' を実行する Notification hook を ~/.claude/settings.json に追加してください。Claude の処理が終わった瞬間に知りたい場合は、Stop hook も追加します。notify-send は libnotify に含まれており(Debian や Ubuntu では libnotify-bin)、通知デーモンが動作している必要があります。GNOME や KDE Plasma には通知デーモンがありますが、ヘッドレスサーバーや SSH セッションにはありません。

01Claude Code 標準の通知動作

Claude がタスクを終えたり権限の承認を待っていたりする際に、ユーザーが離席しているようであれば、Claude Code は通知イベントを発生させます。Anthropic のターミナルガイドによると、Ghostty と Kitty はこれをデスクトップ通知に変換しますが、GNOME Terminal、Konsole、VS Code のターミナルなどでは何も表示されません。

代わりに、どのターミナルでもベルを鳴らすよう設定できます:

{
  "preferredNotifChannel": "terminal_bell"
}

ベルの挙動はターミナルやデスクトップ環境によって異なり、ビープ音が鳴る、画面が点滅する、ウィンドウが要注意としてマークされる、などがあります。詳しくはターミナルベルのガイドを参照してください。本格的な通知が必要なら hook を使いましょう。

02notify-send をインストールする

インストール済みか確認します:

notify-send 'Claude Code' 'test'

コマンドが見つからない場合はインストールします:

sudo apt install libnotify-bin   # Debian, Ubuntu, Mint
sudo dnf install libnotify       # Fedora, RHEL
sudo pacman -S libnotify         # Arch

コマンドは実行できるのに何も表示されない場合は、通知デーモンがありません。GNOME、KDE Plasma、Cinnamon、Xfce には含まれていますが、Sway、i3、Hyprland などのタイル型ウィンドウマネージャーでは、mako や dunst などを自分でインストールして起動する必要があります。notify-send はディスプレイではなく D-Bus 経由でデーモンと通信するため、Wayland でも X11 でも動作します。

03Notification hook

これは Anthropic の hooks ガイドに載っている Linux 向けの例です。既存のキーと並べて ~/.claude/settings.json に追加してください:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
          }
        ]
      }
    ]
  }
}

Claude Code で /hooks と入力すると、Notification の下に表示されているのが確認できます。matcher が空なので、すべての種類の通知で発火します。主なものは、承認待ちのまま約 6 秒入力がなかったときの permission_prompt と、Claude の処理完了から約 60 秒後の idle_prompt です。全種類は Notification hook ガイドに記載されています。

04Claude の完了をすぐに知る

idle_prompt は 1 分遅れて届きます。Stop hook なら Claude がターンを終えた直後に実行されます。matcher は不要です:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "notify-send -a 'Claude Code' 'Claude Code' 'Claude has finished'"
          }
        ]
      }
    ]
  }
}

-a はデーモンに表示されるアプリ名を指定します。ほかにも、-u critical を付けるとほとんどのデーモンで閉じるまで通知が画面に残り、-i dialog-information でアイコンを追加できます。このイベントの詳細は Stop hook ガイドを参照してください。

05実際のメッセージを表示し、サウンドも鳴らす

hook は標準入力で JSON を受け取り、Notification の入力には message フィールドが含まれます。スクリプトを使えば、このテキストを表示してサウンドを鳴らせます。次の内容を ~/.claude/hooks/notify-linux.sh として保存してください:

#!/bin/bash
msg=$(jq -r '.message // "Claude Code needs your attention"')
notify-send -a 'Claude Code' 'Claude Code' "$msg"
paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null || true

chmod +x ~/.claude/hooks/notify-linux.sh で実行権限を付け、hook のコマンドに ~/.claude/hooks/notify-linux.sh を指定します。jq はどのディストリビューションでもパッケージで入手できます。paplay は PulseAudio でも PipeWire の PulseAudio 互換レイヤーでも動作し、サウンドファイルは freedesktop のサウンドテーマ(Debian や Ubuntu では sound-theme-freedesktop)に含まれています。.oga や .wav なら好きなファイルを使えます。

06notify-send がない場合はエスケープシーケンスを使う

ターミナルが通知用のエスケープシーケンスに対応していれば、hook から Claude Code に送信を依頼できます。hook 自体はターミナルを持たないため、terminalSequence フィールドでシーケンスを返し、Claude Code がそれを書き出します。Anthropic のリファレンスでは、Ghostty、urxvt、Warp 向けに OSC 777、Kitty 向けに OSC 99 が挙げられています。例:

#!/bin/bash
body=$(jq -r '.message // "Needs your attention"')
seq=$(printf '\033]777;notify;%s;%s\007' "Claude Code" "$body")
jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

この方法なら Claude Code を実行するマシンにデーモンが不要なので、SSH 経由のリモートサーバーでも使えます。

07notify-send がシェルでは動くのに Claude Code からは動かない場合

notify-send にはデスクトップログインの D-Bus セッションアドレスが必要です。hook は Claude Code の環境を引き継ぐため、デスクトップのターミナルから Claude Code を起動していれば問題ありません。しかし、SSH 経由、systemd サービス、コンテナ内、あるいは SSH から最初に起動した tmux サーバー内で Claude Code を起動した場合はアドレスがないことがあり、通知はどこにも届きません。claude を起動するのと同じシェルで echo $DBUS_SESSION_BUS_ADDRESS を実行し、空であればそのセッションからのデスクトップ通知は表示されません。こうした構成については tmux ガイドと SSH ガイドで解説しています。

08Claude Code Notifier の位置づけ

マシンの前で作業しているなら、上記の hook で十分です。ただし、席を離れると通知は届きませんし、デスクトップ通知から Claude に返答することもできません。

Claude Code Notifier は、Claude Code の hooks を利用した独立系ツールです(開発は Anthropic ではなく TouchTap)。無料のコマンドラインツール ccn は Mac、Windows、Linux で動作します。Linux の場合:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

Node.js があれば npx @touchtap/ccn でも構いません。~/.claude/settings.json に hook のエントリを追加し、他の設定はそのまま残してバックアップも作成します。以降は、Claude の処理完了時、権限が必要なとき、質問があるときに Linux のデスクトップ通知が表示されます。この機能にはネットワークもスマホも不要です。実行時間はイベントごとに数ミリ秒で、バックグラウンドに常駐するものはありません。

iPhone または Android スマホをペアリングすれば、デスクトップ環境のないマシンでも同じイベントが push 通知で届きます。スマホから権限を許可・拒否したり、Claude の質問への回答を選んだり、処理完了後に次の指示を送ったりできます。スマホアプリについては、スマホのペアリング、ccn のページ、料金を参照してください。Linux では、ccn はトークンを本人だけが読み取れるファイルに保存します。

ccn をインストールする場合は、通知が重複しないよう、自分で設定した notify-send の hook を削除してください。

09よくある質問

notify-send がターミナルでは動くのに hook では動かないのはなぜですか?

多くの場合、hook に D-Bus セッションアドレスがないことが原因です。Claude Code を SSH 経由やコンテナ内、あるいはセッションアドレスなしで起動した tmux サーバー内で起動していると、このようになります。デスクトップの terminal から Claude Code を起動するか、代わりにスマートフォンへの push を使ってください。

notify-send はどのパッケージに含まれていますか?

Debian と Ubuntu では libnotify-bin、Fedora と Arch では libnotify です。通知デーモンも必要ですが、フル機能のデスクトップ環境には含まれています。

Wayland でも動作しますか?

はい。notify-send は D-Bus を使うため、通知デーモンが動いていれば Wayland でも X11 でも同じように動作します。

確認するまで通知を表示したままにするには?

notify-send コマンドに -u critical を追加します。ほとんどのデーモンは、critical の通知を閉じるまで画面に表示し続けます。

ヘッドレスの Linux サーバーで Claude Code の通知を受け取れますか?

デスクトップがないため、デスクトップ通知としては受け取れません。SSH の terminal を通じたエスケープシーケンスか、ccn のスマートフォンアプリのような push サービスを使ってください。各方法の比較は SSH ガイドを参照してください。

Claude Code Notifier Claude Code の処理完了や入力待ちをスマートフォンへの push で受け取り、そのまま承認・拒否・回答できます。ccn コマンドラインツールは Mac、Windows、Linux で無料で使えます。
iOS 版をダウンロード Android 版をダウンロード ccn をインストール

関連ガイド

  • Claude Code の Notification hook:発火するタイミングと使い方Claude Code の Notification hook がいつ発火するのか、permission_prompt と idle_prompt の意味、受け取る入力、そして発火前に待機する理由を解説します。
  • Claude Code の Stop hook:Claude の完了時に処理を実行するClaude Code の Stop hook の仕組み、受け取る入力、Claude の完了時にコマンドを実行する方法、そして Claude に安全に作業を続けさせる方法を解説します。
  • SSH 経由のリモートサーバーで動く Claude Code から通知を受け取るVPS やリモートサーバー上で SSH 経由で Claude Code を実行しても通知を受け取れます。SSH を通る terminal エスケープシーケンスか、ccn によるスマートフォンへの push を使います。
  • tmux や screen での Claude Code:デタッチ中のセッションから通知を受け取るtmux や screen 内の Claude Code が完了したときや対応が必要なときに通知を受け取る方法:allow-passthrough、ベルによるアラート、セッション名の付与、デタッチ中のスマートフォンへの push。
claude-code-notifier

Claude Code Notifier は独立したサードパーティ製アプリケーションです。Anthropic, PBC との提携関係はなく、同社による承認や後援も受けていません。「Claude」および「Claude Code」は Anthropic, PBC の商標です。

アプリ iOS アプリ Android アプリ macOS・Windows・Linux 用 ccn すべてのガイド
法的情報 プライバシーポリシー 利用規約 その他の言語 © 2026 touchtap. 無断複写・転載を禁じます。 TouchTap Ltd はイングランド・ウェールズで登記されています(会社番号 13942589)。