GhosttyやClaude Codeで完了通知に使われているOSCとは
Table of Contents
OSCとはなにか?
体系的な文献には辿り着けなかったが、どうやら↓らしい。
OSC 9 / OSC 777とは
これらはいずれもOSへ通知を行うためのもの。
OSCは厳密な規格があるのではなく、ソースコード実装がデファクトスタンダードとして広まっていったらしい。
Claude CodeはOSC 9のみをサポートしている
Claude Codeが通知用にサポートしているのはOSC 9のみ。これは以下のIssueに記載がある。
https://github.com/anthropics/claude-code/issues/3340
Claude Code only sends OSC 9 notifications, not OSC 777.
GhosttyのOSCシーケンス
GhosttyのOSCシーケンスについては、以下のドキュメントに記述がある。
https://ghostty.org/docs/vt/concepts/sequences#osc
GhosttyなどOSCをサポートしているターミナルで以下のコマンドを実行すると、通知動作を確認できる。
ただし以下を満たしていないと通知が動作しない。
- OSレベルでGhosttyの通知がオンであること
- sleepの間にGhosttyからフォーカスを外すこと
OSC 9
sleep 5; printf '\e]9;This is test\a'
OSC 777
sleep 5; printf '\e]777;notify;タイトル;メッセージ本文\a'