Ghostty1.3.0の新機能notify-on-command-finishでコマンド完了を通知する
2026年3月9日にリリースされたGhostty 1.3.0では、コマンド完了通知機能notify-on-command-finishが新たに追加されました。設定しておけば、コマンドが終わった瞬間にmacOSのデスクトップ通知で知らせてくれます。この記事では、各オプションの意味と具体的な設定手順を解説します。
notify-on-command-finishとは
notify-on-command-finishは、ターミナルで実行したコマンドが完了したタイミングを通知してくれる機能です。Ghostty 1.3.0で新たに追加されました。
通知のタイミングや方法、最低実行時間をそれぞれ細かく制御できるのが特徴で、「バックグラウンドにいるときだけ通知する」「1分以上かかったコマンドだけ通知する」といった柔軟な設定が可能です。
設定オプション
notify-on-command-finishの動作は、以下の3つのオプションで制御します。
notify-on-command-finish
通知を送るタイミングを制御します。デフォルトはnever(通知しない)なので、使いたい場合は明示的に設定する必要があります。
| 値 | 説明 |
|---|---|
never | 通知しない(デフォルト) |
unfocused | ターミナルが非フォーカスのときのみ通知する |
always | 常に通知する |
notify-on-command-finish-action
通知の方法を制御します。bell(ターミナルベル)とnotify(デスクトップ通知)を単独または組み合わせて指定できます。デフォルトはbellです。
| 値 | 説明 |
|---|---|
bell | ターミナルベルを鳴らす(デフォルト) |
notify | デスクトップ通知を表示する |
no-bell,notify | ベルなしでデスクトップ通知のみ |
bell,notify | ベルとデスクトップ通知の両方 |
notify-on-command-finish-after
コマンドが何秒以上実行された場合に通知するかを設定します。デフォルトは5s(5秒)です。lsやgit statusのような瞬時に終わるコマンドまで通知されると煩わしいので、自分のユースケースに合わせて調整しましょう。
時間の指定は秒(s)と分(m)で記述できます。組み合わせて使うこともできます。
| 記述例 | 意味 |
|---|---|
5s | 5秒以上かかったコマンドに通知する |
30s | 30秒以上かかったコマンドに通知する |
1m | 1分以上かかったコマンドに通知する |
2m30s | 2分30秒以上かかったコマンドに通知する |
設定方法
- 設定ファイルを開く: メニューバーのGhostty -> Settingsをクリックして設定ファイルを開きます。
- 設定を記述する:
キー名 = 値の形式で設定を追記・編集し、ファイルを保存します。
- 設定を反映する: メニューバーのGhostty -> Reload Configurationを呼び出して設定を反映させます。
設定例
バックグラウンドのときだけ通知する(基本)
最もシンプルで使いやすい設定です。Ghosttyにフォーカスがある間はコマンドの進行を自分で確認できるので通知は不要ですが、別のアプリに切り替えているときは完了を見逃しがちです。unfocusedにしておくことで、そのような場面だけ通知を受け取れます。
notify-on-command-finish = unfocused
notify-on-command-finish-action = notify
notify-on-command-finish-after = 10s常に通知する
複数のタブやウィンドウで並行してコマンドを実行しているとき、どれが終わったかを把握するのに便利です。alwaysにすると、フォーカスの有無に関わらず常に通知が届きます。
notify-on-command-finish = always
notify-on-command-finish-action = notify
notify-on-command-finish-after = 10sビルドやテストなど重いコマンドだけ通知する
npm installやgit pullのような数十秒で終わるコマンドも通知の対象にしてしまうと、通知が多くなりすぎることがあります。notify-on-command-finish-afterを1m以上に設定することで、本当に時間のかかるコマンドだけに絞って通知できます。
notify-on-command-finish = unfocused
notify-on-command-finish-action = notify
notify-on-command-finish-after = 1m動作確認
sleepコマンドを使うと、実際の重い処理を待たずに手軽に動作確認できます。notify-on-command-finish-afterに設定した秒数よりも長い時間を指定して実行し、コマンドが動いている間に別のウィンドウやアプリに切り替えておきます。
たとえばnotify-on-command-finish-after = 10sの場合は、以下のコマンドで確認できます。
sleep 11実行直後にGhosttyからフォーカスを外し、11秒後にデスクトップ通知が届けば設定は正しく動作しています。

うまく通知できないときはmacOSの通知設定を確認する
設定が正しいはずなのにデスクトップ通知が届かない場合は、macOS側で通知が許可されているか確認してください。Ghosttyをインストールしたばかりのときや、通知設定をリセットした後は許可されていないことがあります。
- システム設定を開く
- 通知を選択する
- アプリ一覧からGhosttyを探す
- 通知を許可がオンになっていることを確認する
- 通知スタイルをバナーまたは通知パネルに設定する

注意事項
tmuxやzellijなどのターミナルマルチプレクサ上では動作しません。マルチプレクサを使っている場合はこの機能が使えないため、Ghosttyのタブ・スプリット機能で代替するか、通知を諦めるかの二択になります。
まとめ
Ghosttyのnotify-on-command-finishを使えば、時間のかかるコマンドの完了を自動的に通知できます。設定のポイントは以下の通りです。
notify-on-command-finish = unfocusedでターミナルがバックグラウンドのときのみ通知するnotify-on-command-finish-action = notifyでデスクトップ通知を有効にするnotify-on-command-finish-afterで通知する最小実行時間を調整し、短いコマンドの通知ノイズを抑える
ビルドやテスト、パッケージのインストールなど、完了まで時間のかかるコマンドを日常的に使っている方にぜひ試してほしい機能です。
