GhosttyやClaude Codeで完了通知に使われているOSCとは

Table of Contents

OSCとはなにか?

体系的な文献には辿り着けなかったが、どうやら↓らしい。

  • Operating System Commandの略12
  • ANSI Escape Codeのうちの一つ2
  • TerminalのControl Sequencesの一つ3
  • OSCはxtermで定義されている2

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'

関連記事


  1. Zellijを快適に使うためのエイリアス・関数集
  2. MacでGhostty+Zellijをキーが衝突しないように使いたい
  3. Tera Termのマクロで、パスワードを扱う操作を自動化する
  4. Claude Codeを使ってブログ記事から人物像を分析してみた
  5. Claude Codeのプロンプトやツール定義を探ってみた
  6. Claude Codeを触ってみて感じたこと
  7. 主要なAIエージェントフレームワークのリンク集