clacky

Claude Code や Codex の完了を通知で知る方法

2026年10月6日 更新

Claude Code や Codex に長いタスクを任せて別の作業をし、10 分後に戻ってみたら、2 分目で「はい」を待って止まっていた。そんな経験はありませんか。エージェントが終わったときやあなたの OK を待っているときに音や通知が届けば、それは防げます。

どちらのツールにも無料の方法があります。このガイドではまずそれを紹介し、そのあとで同じことを自動で設定してくれる Clacky の Agent Alerts(エージェント通知)を紹介します。

要点まとめ

  • Claude Code は Ghostty、Kitty、iTerm2 ならそのまま通知できます(iTerm2 は設定がひとつ必要)。ほかのターミナルではフックを追加します。
  • Claude Code の Stop フックは終わったときに、Notification フックはあなたが必要なときに動きます。どちらも、音なら afplay、通知なら osascript を実行させます。
  • Codex は ~/.codex/config.toml に notify の行を追加するか、内蔵のターミナル通知をオンにします。
  • 設定ファイルを編集したくない? Clacky の Agent Alerts がフックを追加し、「完了」と「確認待ち」で違う音を鳴らします。

エージェントが「終わった」を伝えるしくみ

Claude Code・Codex完了、または確認待ち
フック / notifyコマンドを実行
あなたに届く音 · バナー · 光
このページの方法はどれも同じしくみです。エージェントが決まったタイミングでコマンドを実行します。

どちらのツールも、決まったタイミングであなたのコマンドを実行できます。通知の正体はそれだけです。Claude Code ではこれをフック、Codex では notify と呼びます。コマンドの中身(音を鳴らす、バナーを出す、画面を光らせる)は、エージェントが止まったときや入力を求めたときに実行されます。

Claude Code:内蔵の通知

Claude Code は、作業が終わったときや許可の確認を待っているときに、自分でデスクトップ通知を送れます。Anthropic のドキュメントによると、Ghostty と Kitty ではそのまま動きます。iTerm2 では一度だけ設定をオンにします。

  1. iTerm2 → Settings → Profiles → Terminal を開きます。
  2. Notification Center Alerts にチェックを入れます。
  3. Filter Alerts をクリックし、Send escape sequence-generated alerts をオンにします。

tmux の中で Claude Code を動かしている場合は、~/.tmux.conf に set -g allow-passthrough on を追加してください。これがないと通知がターミナルまで届きません。通知の方法(たとえばターミナルのベル)は、Claude Code の /config 設定でも選べます。

出典:Claude Code docs: terminal setup

Claude Code:音を鳴らすフック

Apple のターミナル、VS Code、そのほかのターミナルでは、フックを使います。フックは ~/.claude/settings.json(すべてのプロジェクト)または .claude/settings.json(ひとつのプロジェクト)に書きます。大事なイベントは 2 つです。

  • Stop:Claude が回答を終えたとき。
  • Notification:Claude があなたを必要としているとき(許可の確認や、入力待ちが続いているとき)。

次の設定で、どちらのときも macOS のサウンドが鳴ります。いまの設定ファイルに追記してください(すでにある内容は残します)。

{
  "hooks": {
    "Stop": [{ "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }] }],
    "Notification": [{ "matcher": "", "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Ping.aiff" }] }]
  }
}

バナーのほうがいい場合は、代わりにこのコマンドを使います(Anthropic の例と同じです)。

osascript -e 'display notification "Claude Code needs your attention" with title "Claude Code"'

Claude Code で /hooks と入力すると、設定されているフックを確認できます。新しいフックは、保存したあとに始めたセッションから有効になります。/System/Library/Sounds/ のサウンドは自由に使えます。Glass、Ping、Pop、Purr、Submarine などがあります。

出典:hooks reference · hooks guide

Codex:notify の設定

Codex CLI は、ターンが終わるたびにあなたのプログラムを実行できます。設定は ~/.codex/config.toml の notify です。Codex は最後の引数としてターンの内容を JSON で渡します(type は agent-turn-complete)。音を鳴らすだけのコマンドなら無視してかまいません。

notify = ["sh", "-c", "afplay /System/Library/Sounds/Glass.aiff"]

notify はトップレベルのキーなので、ファイル内のどの [section] よりも上に書きます。Codex にはターミナル UI の内蔵通知([tui] の notifications)もあり、ターミナル自身の通知やベルを使います。バナーが表示されるかどうかはターミナル次第です。

Codex の notify が動くのはターンが終わったときです。Claude Code の Notification フックのような「承認待ち」専用のイベントはありません。

出典:Codex docs: advanced configuration

Clacky なら 2 クリックで完了

Agent Alerts がフックを追加し、「完了」と「確認待ち」で違う音を鳴らします。ターミナルを見ているときや通話中は静かに。エージェントが終わるまで Mac を起こしておくこともできます。7 日間無料、カード不要。

Clacky の Agent Alerts:設定ファイルなしで同じことを

JSON や TOML を編集したくないなら、Clacky(Mac のメニューバーアプリ)の Agent Alerts があります。上と同じフックを使うので、画面を見張ったりターミナルを読み取ったりはしません。

  1. Clacky のダッシュボード → Agent Alerts を開きます。
  2. Claude Code または Codex の横の Set Up… をクリックします。Clacky が追加する行をそのまま見せてくれるので、Add Hooks をクリックします。元のファイルのバックアップは同じ場所に残ります(settings.json.clacky-backup)。
  3. Send a Test Alert をクリックすると、2 つの音を試せます。

できること:

  • 完了(上がっていく和音)と確認待ち(2 回のタップと問いかけ)で違う音。エージェントごとに 5 つのボイスから選べます。
  • 画面の縁がやわらかく光る演出(約 1 秒、オプション)。クリックは下に通り抜け、録画には映りません。
  • Quiet when it’s in front(エージェントのターミナルが前面にあるあいだは鳴らさない)と Quiet during calls(マイク使用中は鳴らさない)。どちらも最初からオンです。
  • メニューバーにセッションごとのドット:作業中、待機中、完了。クリックするとそのターミナルが前面に来ます。
  • Keep Awake → Until My Agent Is Done で、長い作業が Mac のスリープで止まりません。

Claude Code はどのターミナルでも、Claude アプリの Code タブでも使えます。Codex は CLI に対応し、完了の音が鳴ります(Codex は「確認待ち」のイベントを送らないため)。Codex の設定にすでに notify の行がある場合、Clacky はそれを置き換えず、そのまま残してお知らせします。Remove… で消えるのは Clacky が追加した行だけです。

何も起きないときは

  • セッションを再起動する。 フックはセッション開始時に読み込まれるので、すでに動いていたセッションでは通知されません。
  • ファイルが正しく読めるか確認する。 settings.json のカンマがひとつ抜けているだけで、すべてのフックが止まります。JSON チェッカーに貼り付けて確かめてください。
  • コマンドだけを試す。 ターミナルで afplay /System/Library/Sounds/Glass.aiff を実行します。音が出なければ、出力デバイスと音量を確認してください。
  • バナーが出ない? システム設定 → 通知 で、使っているターミナル(osascript ならスクリプトエディタ)の設定と、集中モードを確認してください。
  • 音が 2 つ同時に鳴る? 設定が 2 つある状態です(たとえば自分で書いたフックと Clacky のフック)。どちらかひとつにしてください。

よくある質問

Claude Code に通知音の機能はありますか?

Ghostty、Kitty、iTerm2 なら、そのままデスクトップ通知を送れます(iTerm2 は Send escape sequence-generated alerts をオンにする必要があります)。どのターミナルでも音を鳴らしたいなら、afplay を実行する Stop フックか Notification フックを追加してください。

Stop フックと Notification フックの違いは?

Stop は Claude が回答を終えたときに動きます。Notification は Claude があなたを必要とするとき、つまり許可の確認や入力待ちが続いているときに動きます。たいていの人は両方を、違う音で使っています。

Codex は承認が必要なときに知らせてくれますか?

Codex の notify プログラムが動くのは、ターンが終わったとき(agent-turn-complete)です。いまのところ承認専用のイベントはないので、音が鳴るのはターンの終わりです。

Clacky はコードやプロンプトを読みますか?

いいえ。フックが Clacky に渡すのは、どのツールか、どのターミナルアプリか、セッション ID、そして何が起きたか(作業中、完了、確認待ち)だけです。プロンプト、コード、出力は渡しません。どこにも送信されず、Mac の中のファイルに 1 行書かれるだけです。

Cursor でも使えますか?

Clacky ではまだです。Cursor のフックはまだベータ版のためです。対応しているのは Claude Code と Codex CLI です。

Clacky ははじめてですか?サウンド、レコーダー、スクリーンショット、Mac ヘルス、エージェント通知をひとつのダッシュボードにまとめた、小さな Mac のメニューバーアプリです。 すべてのツールを見る · 7 日間無料で試す

2026年10月6日 に確認しました。 内容が変わっていたり、間違いがあったりしたら、hello@clacky.app までメールでお知らせください。