Claude Codeの作業完了、見逃していませんか?
Claude CodeのHooksとは?
Claude Codeで通知音を設定する方法
基本:効果音を鳴らす
afplayコマンドについて
利用可能なシステムサウンド
macOSの通知バナーも表示するには?
並列作業の切り札:音声でプロジェクト名を読み上げる
読み上げ音声を変える
利用可能な日本語音声を確認
音声を指定して読み上げ
設定のポイント
完了と質問で音を変える
Notificationのmatcherについて
既存のsettings.jsonとの統合
まとめ
コピペで設定完了:Claude Code用セットアッププロンプト
効果音のみ(シンプル版)
効果音+プロジェクト名読み上げ(おすすめ)
この記事が参考になったら
https://s3.ap-northeast-1.amazonaws.com/hanzochang.com/_v2/1770700583435_vn59k4qd8b.png

[並列作業] ClaudeCodeの進捗を「音+案件名」で通知!プロンプト付き!

Claude Codeを複数プロジェクトで並列に走らせていると、どこが終わったか見失いがち。Hooksとsayコマンドで「効果音+案件名の読み上げ」を設定すれば、画面を見なくても進捗が分かります。コピペで設定できるプロンプト付き。

公開日2026.02.09

更新日2026.02.09

AI

Claude Codeの作業完了、見逃していませんか?

Claude Codeにリファクタリングを依頼して、ブラウザで別の調べ物をしていたら、気づいたときには数分前に終わっていた。あるいは、Claude Codeが質問を投げて入力待ちなのに気づかず放置してしまった。

複数のターミナルでClaude Codeを並列に走らせている場合はなおさらです。 フロントエンドの修正、API側のリファクタ、テストの追加──それぞれ別のセッションで同時に進めていると、どのプロジェクトが終わったのか、どこで質問が来ているのか、把握しきれなくなります。

この記事では、~/.claude/settings.jsonのHooks機能を使って、タスク完了時と質問待ち時にmacOSで音を鳴らす方法を紹介します。さらにsayコマンドを組み合わせれば、「my-app 完了」のようにプロジェクト名を音声で読み上げてくれるので、画面を見なくてもどのプロジェクトで何が起きたか把握できます。設定だけで済むため、コードを書く必要はありません。

⚡ 今すぐ設定したい方へ

Claude Codeにコピペするだけで設定が完了するプロンプトを用意しました。 → セットアッププロンプトへジャンプ

Claude CodeのHooksとは?

Claude Codeには、特定のイベント発生時にシェルコマンドを自動実行する「Hooks」という機能があります。~/.claude/settings.jsonに設定を記述することで、以下のようなタイミングでコマンドを実行できます。

  • Stop - Claude Codeがタスクを完了して停止したとき
  • Notification - Claude Codeがユーザーへの通知を発行したとき(質問や確認待ち)

この仕組みを使って、macOSのシステムサウンドを再生します。

Claude Codeで通知音を設定する方法

基本:効果音を鳴らす

~/.claude/settings.jsonに以下を追記します。

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

この設定により、タスク完了時には「Hero」、質問・確認待ち時には「Glass」というサウンドが再生されます。音が異なるため、画面を見なくてもどちらの状態か判別できます。

afplayコマンドについて

afplayはmacOSに標準で搭載されているオーディオ再生コマンドです。追加のインストールは不要で、.aiff.mp3などのファイルを再生できます。

利用可能なシステムサウンド

/System/Library/Sounds/ディレクトリには以下のサウンドファイルが用意されています。

サウンド名印象
Basso
低い警告音
Blow
風のような音
Bottle
ボトルを吹く音
Frog
カエルの鳴き声
Funk
ファンキーな効果音
Glass
ガラスを叩く音
Hero
達成感のある音
Morse
モールス信号風
Ping
軽い通知音
Pop
ポップ音
Purr
振動のような音
Sosumi
短い電子音
Submarine
潜水艦のソナー風
Tink
小さな金属音

ターミナルで実際に鳴らして試すことができます。

afplay /System/Library/Sounds/Hero.aiff

好みの組み合わせを見つけて設定に反映してください。

macOSの通知バナーも表示するには?

音だけでなくmacOSの通知バナーも表示したい場合は、osascriptコマンドを使います。

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"タスクが完了しました\" with title \"Claude Code\" sound name \"Hero\"'"
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"入力を待っています\" with title \"Claude Code\" sound name \"Glass\"'"
          }
        ]
      }
    ]
  }
}

osascriptを使うと、通知バナーの表示とサウンドの再生を1つのコマンドで実行できます。通知センターにも履歴が残るため、離席中に何が起きたかを後から確認するのにも便利です。

💡 osascriptの通知にはターミナルアプリの通知許可が必要

osascriptの通知は、実行元のターミナルアプリを通じて表示されます。初回実行時に通知が出ない場合は、「システム設定 > 通知」で自分が使っているターミナルアプリの通知を許可してください。

  • Terminal.app を使っている場合 → 「ターミナル」を許可
  • iTerm2 を使っている場合 → 「iTerm2」を許可
  • Warp を使っている場合 → 「Warp」を許可
  • Ghostty を使っている場合 → 「Ghostty」を許可

並列作業の切り札:音声でプロジェクト名を読み上げる

Claude Codeを複数ターミナルで並列に動かす運用は生産性が高い反面、「どのプロジェクトが終わったのか」が効果音だけでは分かりません。

macOSのsayコマンドを組み合わせると、作業ディレクトリのフォルダ名を音声で読み上げてくれます。

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Hero.aiff && say \"$(basename \"$PWD\") 完了\""
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Glass.aiff && say \"$(basename \"$PWD\") 質問があります\""
          }
        ]
      }
    ]
  }
}

例えばmy-appディレクトリで作業していた場合、タスク完了時に「my-app 完了」、質問待ち時に「my-app 質問があります」と読み上げられます。イヤホンをしていれば、画面を一切見ずにどのプロジェクトで何が起きたか把握できます。

読み上げ音声を変える

sayコマンドは-vオプションで音声を変更できます。日本語の読み上げにはKyokoOtoyaが使えます。

# 利用可能な日本語音声を確認
say -v '?' | grep ja_JP

# 音声を指定して読み上げ
say -v Kyoko "my-app 完了"

Hooksに適用する場合は、コマンド部分を以下のように変更します。

afplay /System/Library/Sounds/Hero.aiff && say -v Kyoko \"$(basename \"$PWD\") 完了\"

設定のポイント

完了と質問で音を変える

同じ音にしてしまうと、画面を見るまでどちらの状態か分かりません。タスク完了には達成感のある「Hero」、質問待ちには控えめな「Glass」のように、意味の異なるサウンドを割り当てると便利です。

Notificationのmatcherについて

Notificationmatcherフィールドは、通知メッセージのフィルタリングに使います。空文字列""を指定するとすべての通知にマッチします。特定のメッセージだけに反応させたい場合は、正規表現パターンを指定できます。

既存のsettings.jsonとの統合

settings.jsonに既に他の設定がある場合は、hooksキーを追加する形で記述します。既存の設定を上書きしないよう注意してください。

まとめ

Claude CodeのHooks機能を使えば、設定ファイルの記述だけでタスク完了や質問待ちの音声通知を実現できます。

設定のポイントは以下の通りです。

  • ~/.claude/settings.jsonhooksStopNotificationのイベントを設定する
  • afplayコマンドでmacOSのシステムサウンドを再生する
  • 完了と質問で異なるサウンドを割り当てると、画面を見なくても状態を判別できる
  • osascriptを使えば通知バナーとサウンドを同時に表示できる
  • sayコマンドでプロジェクト名を読み上げれば、複数セッション並行時もどこで何が起きたか判別できる

小さな設定ですが、マルチタスクで開発しているときの待ち時間を減らす効果があります。

コピペで設定完了:Claude Code用セットアッププロンプト

手動でsettings.jsonを編集するのが面倒な場合、以下のプロンプトをClaude Codeにそのまま貼り付ければ自動で設定してくれます。

効果音のみ(シンプル版)

~/.claude/settings.json にhooksを追加して。
Stop(タスク完了)で afplay /System/Library/Sounds/Hero.aiff、
Notification(入力待ち)で afplay /System/Library/Sounds/Glass.aiff を鳴らすようにして。
既存設定はそのまま残して。

効果音+プロジェクト名読み上げ(おすすめ)

Claude Codeの通知音を設定して。以下の通りに実装してほしい。

■ ~/.claude/settings.json のhooksに以下を設定

Stop(タスク完了)のcommand:
(afplay /System/Library/Sounds/Hero.aiff && say "$(basename "$PWD") 完了") > /dev/null 2>&1 &

Notification(matcher空文字)のcommand:
(afplay /System/Library/Sounds/Glass.aiff && say "$(basename "$PWD") 質問があります") > /dev/null 2>&1 &

hookをブロックしないよう、必ず > /dev/null 2>&1 & でバックグラウンド実行すること。
既存のsettings.jsonの設定はそのまま残してhooksだけ追加・更新して。

Claude Codeがsettings.jsonを読み取って、既存の設定を壊さずにhooksをマージしてくれます。

参考リンク

この記事が参考になったら

この記事が役に立ったと思いましたら、よろしければフォローをお願いします。

X (Twitter)Xをフォローする

Claude Codeの並列運用やAI開発フローの導入に興味がありましたら、お気軽にご連絡ください。

株式会社hanzochangお問い合わせフォーム
picture
hanzochang - 半澤勇大
慶應義塾大学卒業後、Webプランナーとして勤務。 ナショナルクライアントのキャンペーンサイトの企画・演出を担当。 その後開発会社に創業メンバーとして参加。 Fintech案件や大手企業のDXプロジェクトに関わり、その後個人事業主として独立し、 2023年にWeb3に特化した開発会社として法人化しました。 現在はWeb3アプリ開発を中心にAI開発フローの整備を行っています。
また、趣味で2017年ごろより匿名アカウントでCryptoの調査等を行い、 ブロックチェーンメディアやSNSでビットコイン論文等の図解等を発信していました。
X (Twitter)

最新の記事

x402 × Solana実装ガイド | 支払い対応MCPサーバーをTypeScriptで構築する

x402 × Solana実装ガイド | 支払い対応MCPサーバーをTypeScriptで構築する

x402 V2プロトコルのSolana実装を徹底解説。SVM exact schemeの仕組みから、@x402/mcpパッケージを使った支払い対応MCPサーバーの構築まで、実際のコードとともにステップバイステップで解説します。

x402 V2 解説 | Solana等マルチチェーン対応・OpenClawの自動売買にも利用されるHTTP決済プロトコル

x402 V2 解説 | Solana等マルチチェーン対応・OpenClawの自動売買にも利用されるHTTP決済プロトコル

累計$600M超のボリュームを記録するHTTP決済プロトコルx402がV2で大幅進化。Solana等のマルチチェーン対応、Extensions拡張機構、Discovery APIを解説。OpenClaw FoundryやClawRouterなどAIエージェントの自動売買での採用事例も紹介します。

x402とは? AIエージェント × MCP × 暗号資産が交差するHTTP自動決済プロトコル

x402とは? AIエージェント × MCP × 暗号資産が交差するHTTP自動決済プロトコル

HTTP 402を活用した決済プロトコル「x402」の入門ガイド。暗号資産(USDC)即時決済、AIエージェントによるMCP経由の自動購入、マルチチェーン対応まで、全体像を解説します。

ClaudeCode スマホでリモート接続 - OpenClawはもう不要?! RemoteControlを使おう

ClaudeCode スマホでリモート接続 - OpenClawはもう不要?! RemoteControlを使おう

Claude Code Remote Controlを使えば、PCで動作中のセッションをスマホやタブレットからそのまま操作できます。QRコード接続、セキュリティ設定、トラブルシューティングまで解説します。

OpenClaw × Solana 事例まとめ - 公式スキル・周辺プロダクト・使いどころ

OpenClaw × Solana 事例まとめ - 公式スキル・周辺プロダクト・使いどころ

OpenClawとSolanaが交わる実例(公式スキル、周辺プラグイン、取引・監視系プロジェクト、ハッカソン)を一次ソースのリンク付きで一覧にまとめます。

OpenClaw APIトークン節約 - Happy + Claude Codeで出先から開発・指示出し

OpenClaw APIトークン節約 - Happy + Claude Codeで出先から開発・指示出し

Happyのプロセス切断をOpenClawで復帰させ、出先からいつでもClaude Code / Codexにリモートアクセスする方法を解説。APIトークンの節約と、スマホ1台で完結するAI開発ワークフローを紹介します。