Show HNでcmuxをローンチ
2月19日にShow HNにcmuxを投稿しました:
Claude CodeとCodexのセッションを多数並列で実行しています。Ghosttyで大量の分割ペインを使い、エージェントが私を必要としているときを知るためにmacOSのネイティブ通知に頼っていました。しかし、Claude Codeの通知本文はいつも「Claude is waiting for your input」というコンテキストのないものばかりで、タブを十分に開くとタイトルすら読めなくなっていました。
いくつかのコーディングオーケストレーターを試しましたが、そのほとんどがElectron/Tauriアプリで、パフォーマンスが気になりました。また、GUIオーケストレーターはそのワークフローに縛られるため、単純にターミナルのほうが好みです。そこで、cmuxをSwift/AppKitのネイティブmacOSアプリとして構築しました。ターミナルレンダリングにはlibghosttyを使用し、テーマ、フォント、カラーなどは既存のGhostty設定を読み込みます。
主な追加機能はサイドバーと通知システムです。サイドバーには、各ワークスペースのgitブランチ、作業ディレクトリ、リッスン中のポート、最新の通知テキストを表示する縦タブがあります。通知システムはターミナルシーケンス(OSC 9/99/777)を検出し、Claude CodeやOpenCodeなどのエージェントフックに接続できるCLI(cmux notify)を備えています。エージェントが待機中のとき、そのペインに青いリングが表示され、サイドバーのタブが点灯するので、分割やタブをまたいでどれが私を必要としているかがわかります。Cmd+Shift+Uで最新の未読にジャンプします。
アプリ内ブラウザにはスクリプタブルなAPIがあります。エージェントはアクセシビリティツリーのスナップショットを取得し、要素参照を取得し、クリック、フォーム入力、JS実行、コンソールログの読み取りが可能です。ターミナルの横にブラウザペインを分割し、Claude Codeに開発サーバーと直接やり取りさせることができます。
すべてがCLIとsocket APIを通じてスクリプタブルです:ワークスペース/タブの作成、ペインの分割、キーストロークの送信、ブラウザでのURL表示。
ピーク時にはHacker Newsで2位に到達しました。Mitchell Hashimotoがシェアしました:
HNスレッドで一番気に入ったコメント:
Hey, this looks seriously awesome. Love the ideas here, specifically: the programmability (I haven't tried it yet, but had been considering learning tmux partly for this), layered UI, browser w/ api. Looking forward to giving this a spin. Also want to add that I really appreciate Mitchell Hashimoto creating libghostty; it feels like an exciting time to be a terminal user.
Some feedback (since you were asking for it elsewhere in the thread!):
- It's not obvious/easy to open browser dev tools (cmd-alt-i didn't work), and when I did find it (right click page → inspect element) none of the controls were visible but I could see stuff happening when I moved my mouse over the panel
- Would be cool to borrow more of ghostty's behavior:
- hotkey overrides
- command palette (cmd-shift-p)
- cmd-z to "zoom in" to a pane
意外にも、cmuxは日本でバイラルになりました:
翻訳:「これは良さそう。Claude Codeのような複数のCLIを並列実行しても迷わないように設計されたGhosttyベースのターミナルアプリ。入力待ちのパネルに青いフレームが付き、独自の通知システムを搭載。」
そして中国でも準バイラルに:
もう一つ嬉しかったのは、cmux CLIの上に拡張機能を構築する人が現れたことです。sashaがpi-cmux拡張機能を作り、モデル情報、トークン使用量、エージェントの状態をサイドバーに表示できるようにしました:
cmuxのすべてはCLIを通じてスクリプタブルです:ワークスペースの作成、キーストロークの送信、ブラウザの制御、通知の読み取り。cmuxの哲学の一部はプログラマブルでコンポーザブルであることで、コーディングエージェントとの作業方法を自由にカスタマイズできます。コーディングエージェントの最先端は急速に変化しており、追いつけない柔軟性のないGUIオーケストレーターに縛られたくはないはずです。
複数のコーディングエージェントを実行しているなら、cmuxを試してみてください。

