リンクをコピーしました

ターミナルで Claude Code を動かしていると、別ウィンドウに目を移しているあいだに 応答が終わっている のに気づけず、待ち時間をムダにしたり、逆にまだ動いていると思い込んだりしがちです。デスクトップ通知も有効ですが、「音」で知らせると耳に残りやすいので、hooks でワークフローを自動化する を使って 応答が止まったタイミング でだけ短い音を鳴らす設定を試しました。

前提:hooks はどこに書くか

Claude Code の hook は JSON の hooks ブロックで定義します。スコープは次のどちらか(または併用)です。

置き場所向き
~/.claude/settings.jsonマシン全体のデフォルト
リポジトリの .claude/settings.jsonそのプロジェクトだけ(チームで共有しやすい)

個人的な音の好みならユーザーディレクトリ、チームで同じ挙動にしたいならプロジェクト側、という分け方がわかりやすいです。設定の詳細は hooks ガイド にまとまっています。

「終わった」ときに鳴らす:Stop イベント

ガイドの一覧にあるとおり、StopClaude が応答を終了したとき に発火します(ユーザーが割り込んだ場合は発火しません)。完了の合図に向いています。

最小例は macOS の afplay でシステム付属の AIFF を鳴らすだけです。

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

Glass.aiff の代わりに Blow.aiffPing.aiff など、好みの短い音に差し替えれば OK です。

設定を書いたら CLI で /hooks と入力し、hooks ブラウザStop が載っているか確認するのがおすすめです。

注意:応答が区切れるたびに鳴る

ドキュメントにもある通り、Stopタスクが一発で完結したときだけ ではなく、Claude が一回の応答を終えるたび に発火します。長いやりとりでは音が何度も鳴るので、集中を削る場合は Notification(入力待ちなど)との使い分けや、短い/控えめな音を選ぶとよさそうです。

Suno で「Claude Code っぽい」曲も作ってみた

作業用 BGM として、SunoClaude Code をテーマにした曲をいくつか生成してみました。一覧のスクショは次のとおりです(タイトルに「クロードコードのひらめき」「コードの海を駆ける」などが並んでいます)。

Suno で生成した Claude Code テーマのトラック一覧

公開ページの一例:クロードコードのひらめき(Suno)

hooks に 長い楽曲ファイルのパス をそのまま渡すと、応答のたびにフル尺が流れてしまうので、実運用では 短くエクスポートした断片 か、やはり 数秒の効果音 の方が向いています(後述)。

音源ファイルは Google ドライブに置いて iframe で試聴

生成したファイルは Google ドライブに置き、ブログでは /preview 付き URL<iframe> で埋め込んでいます(共有は「リンクを知っている全員」+閲覧者にしておく必要があります)。手順の詳細は このブログの別記事 にまとめてあります。

Suno 側の試聴(Drive)

ElevenLabs の効果音ジェネレーターも試した

ElevenLabs Sound Effects で、テキストから短い効果音を生成してみました。クオリティは面白いのですが、生成結果が長め になりがちで、Stop のたびに流すには さすがに長い と感じました。短いクリップに切り出して afplay に渡すならアリです。

プロンプトに 「claude code の完了音を作成して」 と入れたときの画面です。結果は #1〜#4 の4つに分かれ、それぞれ 1.0 秒 の波形になっています。画面上部には「最良の結果を得るには音を英語で説明してください」といったヒントも出ます。

ElevenLabs Sound Effects で「claude code の完了音を作成して」と生成したときの UI

ElevenLabs で作ったサンプル(Drive)

hooks 以外の拡張もざっくり

同じ Claude Code のドキュメント 周辺では、hooks 以外にも次のような拡張が紹介されています。

  • Skills … 指示や再利用可能な手順をまとめる
  • Subagents … 別コンテキストでタスクを実行
  • Plugins … プラグインとして hooks などをパッケージ化

音のトリガーは hooks の決定的なタイミング に載せるのが向いていて、業務ルールやテンプレは Skills、分担は Subagents、という住み分けのイメージになります。

まとめ

  • Claude Code の応答終了を見逃しにくくするには、Stop hook で afplay など短い音 を鳴らすのが手軽。
  • 設定は ~/.claude/settings.jsonプロジェクトの .claude/settings.json
  • SunoElevenLabs で作った音源も試せるが、長尺は Stop には向かないので 短く切るシステム音 が現実的。
  • 公式:hooks でワークフローを自動化する

参考(Amazon): Claude 関連を検索