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

johnthedebs

意外にも、cmuxは日本でバイラルになりました:

翻訳:「これは良さそう。Claude Codeのような複数のCLIを並列実行しても迷わないように設計されたGhosttyベースのターミナルアプリ。入力待ちのパネルに青いフレームが付き、独自の通知システムを搭載。」

そして中国でも準バイラルに:

もう一つ嬉しかったのは、cmux CLIの上に拡張機能を構築する人が現れたことです。sashaがpi-cmux拡張機能を作り、モデル情報、トークン使用量、エージェントの状態をサイドバーに表示できるようにしました:

cmuxのすべてはCLIを通じてスクリプタブルです:ワークスペースの作成、キーストロークの送信、ブラウザの制御、通知の読み取り。cmuxの哲学の一部はプログラマブルでコンポーザブルであることで、コーディングエージェントとの作業方法を自由にカスタマイズできます。コーディングエージェントの最先端は急速に変化しており、追いつけない柔軟性のないGUIオーケストレーターに縛られたくはないはずです。

複数のコーディングエージェントを実行しているなら、cmuxを試してみてください

cmux GitHub star history showing growth from near 0 to 900+ stars after the Show HN launch