そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

Claude Code が停止したタイミングで音を鳴らす方法

要件

macOS Sequoia 15.6

はじめに

Mac のターミナルで Claude Code を使っていると、
コマンドの実行許可待ちや作業完了に気づかず、しばらく放置してしまうことがあります。

そこで今回は、Claude Code が停止したタイミングで Mac の通知音を鳴らす方法を紹介します。

対象は以下のタイミングです。

  • コマンド実行の許可を求められたとき
  • Claude Code の作業が完了したとき


方法

claudeのsettings.json を編集することで設定できます。

以下の順番で説明します。
1.settings.jsonを開く
2.settings.jsonを編集する

1.settings.jsonを開く

Finder でホームフォルダを開く

ホームフォルダは、Finder を開いてショートカットキー入力で開けます。

Shift + Command + H


隠しファイルを表示する

ホームフォルダを開いた状態で、以下のキーを押します。

Command + Shift + .

これで、通常は非表示になっているフォルダも表示されます。


.claude フォルダを開く

ホームフォルダの中に.claudeのフォルダがあるはずです。
こちらを開きます。

もし .claude フォルダがない場合は、
新規フォルダを作成して、名前を .claude に変更します。


settings.json を開く

.claude フォルダ内にあるsettings.jsonのファイルを開きます。


2.settings.json を編集する

コード内容

settings.json の内容を、以下のようにします。
元から入っているコードがある場合は、
ChatGPTなどのAIに下記に変更してよいか確認すると良いでしょう。

{
  "theme": "dark",
  "hooks": {
    "PermissionRequest": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Funk.aiff",
            "async": true
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Glass.aiff",
            "async": true
          }
        ]
      }
    ]
  }
}

保存後、Claude Code を一度終了して、再起動すると反映されます。
(Claude Codeが起動中で次のプロンプト入力待ちの状態で保存しても無事反映されました。)


コード内容の簡単な説明


"PermissionRequest"

Claude Code がコマンドの実行許可を求めてきた時に実行されます。


"Stop"

Claude Code の作業が完了した時に実行されます。


"afplay /System/Library/Sounds/Funk.aiff"

Mac 標準の音声ファイルを再生しています。


"async": true

音を鳴らす処理をバックグラウンドで実行する設定です。


音を変更したい場合

音を変えたい場合は、以下の部分を変更します。

"command": "afplay /System/Library/Sounds/Funk.aiff"

例えば、Funk.aiffPing.aiff に変えると、別の音になります。


Mac 標準の通知音一覧

Mac 標準では、以下のような音が使えます。

| 音声ファイル | 音のイメージ |
|---|---|
| `/System/Library/Sounds/Basso.aiff` | 低めの「ブー」という音。警告っぽい印象 |
| `/System/Library/Sounds/Blow.aiff` | 息を吹くような「フッ」という音 |
| `/System/Library/Sounds/Bottle.aiff` | ビンを軽く叩いたような「ポン」という音 |
| `/System/Library/Sounds/Frog.aiff` | カエルの鳴き声のような「ゲコッ」という音 |
| `/System/Library/Sounds/Funk.aiff` | 低めで目立つ「ボン」という音。許可待ちに気づきやすい |
| `/System/Library/Sounds/Glass.aiff` | ガラスを軽く叩いたような「チン」という音。通知音らしい |
| `/System/Library/Sounds/Hero.aiff` | 明るめの「ピロン」という音。完了通知向き |
| `/System/Library/Sounds/Morse.aiff` | モールス信号のような「ピピッ」という音 |
| `/System/Library/Sounds/Ping.aiff` | 高めの「ピン」という短い音。シンプルで使いやすい |
| `/System/Library/Sounds/Pop.aiff` | 軽い「ポップ」という音。控えめ |
| `/System/Library/Sounds/Purr.aiff` | 猫が喉を鳴らすような低めの「ゴロゴロ」音 |
| `/System/Library/Sounds/Sosumi.aiff` | Macらしい昔ながらの通知音。「ピロッ」という印象 |
| `/System/Library/Sounds/Submarine.aiff` | 潜水艦のソナーのような「ポーン」という音 |
| `/System/Library/Sounds/Tink.aiff` | 小さく高い「チン」という音。かなり控えめ |
例えば、作業完了時の音を `Ping.aiff` にしたい場合は、以下のように変更します。


注意点

settings.json は JSON ファイルなので、コメントを書くことはできません。

以下のような書き方はできません。

{
  // これはコメント
  "theme": "dark"
}

メモを残したい場合は、
settings.json とは別にメモ用のテキストファイルを作るのがおすすめです。

例:

settings_memo.txt


終わりに

この設定を入れておくと、Claude Code が止まったタイミングで音が鳴るようになります。

一気に便利になる感覚があるのでオススメの設定です。

お役に立てましたら幸いです。