WezTermやめます。Alacrittyかcmuxにする

技術

タイトルの通り。


なぜWezTermをやめるのか

メモリリークを起こし、開発に支障が出てきた。WezTermの開発設計的に、これは今後も解決しなさそうなので、やめることにした。


そもそもWezTermの設計として、ペイン作成時に scrollback_lines(デフォルト3500)+ 表示行数分のmemory capacityを最初から確保する。


問題になったのは、自分の開発ではもちろんclaude codeを使っているし、workspace, tab, paneもガンガン使って大量に作っている。

paneを作るだけでメモリが消費されるし、claude codeなんかだと出力行が一気に増えるので、リングバッファによるGCが追いつかず、メモリをどんどん圧迫していき、OOMに達する。


結果、アクテビティモニタでメモリを見ると、「wezterm: 8GB」などと見たことない値になっていた。


他にもこのOOM問題のissueがいくつか散見されており、いまだに解決していないので、(そもそもWezTermの最新更新2024年だし)、実態としてなかなか解決されないんだろうなと思った。


ので、乗り換えを検討することにした。


関連issue

Alacrittyかcmux

求める機能は、

  • OOMしない(これが一番!)
  • session(workspace), tab, paneがあり、それぞれ管理、移動が直感的にしやすいこと
  • 軽量

Alacrittyはmuxを実現するなら、tmuxを外付け。

cmuxはデフォルトでmuxを組み込んでいる。ただ、階層構造がちょっと自分の直感と逆なので悩みどころ。(tab ↔ paneの階層が逆)。ただ、組み込みブラウザは魅力的なんだよな。


比較表

項目Alacritty + tmuxcmux
実装基盤Alacritty: Rust / tmux: CSwift + AppKit(libghostty レンダリング)
macOS対応✅ macOS / Linux / Windows✅ macOS専用(ネイティブアプリ)
mux(workspace / tab / pane)tmux側で管理。概念はsession/window/pane。キーバインドのカスタマイズ幅は広いが初期設定はやや複雑ネイティブGUIとして垂直タブサイドバー + split paneをそのまま提供。直感的な操作感
メモリ効率 / OOM耐性強み。Alacrittyはレンダリングのみ担当し、スクロールバックはtmuxデーモンが管理。ペインを大量に開いてもAlacrittyプロセス自体は軽量に保たれる⚠️ libghostty(Ghosttyベース)でメモリ設計は改善されているが、Claude Codeの大量出力に対する実績はまだ少ない(2026年2月リリースの新興ツール)
AI agent対応(Claude Code等)❌ ネイティブ機能なし。OSCエスケープシーケンスを自前で組む必要あり強み。Claude Code hooksとOSC 9/99/777に対応。agentの完了・入力待ちを自動検知してpaneに青リングとサイドバー通知を表示
通知機能❌ tmux単体では非対応。iTermとの組み合わせや自前スクリプトが必要✅ macOSデスクトップ通知 + サイドバータブのビジュアル通知。複数agent並走時に「どのagentが終わったか」が一目でわかる
サイドバー情報❌ なし(tmuxのstatus-barで代替可能だが簡素)✅ git branch、PR番号、CWD、listenポート、最新通知テキストをタブごとに表示
セッション永続性(SSH)強み。tmuxはdetach/reattach設計。SSH切断後もセッション生存。リモートサーバー上での利用が得意⚠️ session restoreあり。ただしmux-serverがローカル前提の設計。SSH越しの利用は想定外
組み込みブラウザ❌ なし✅ あり。agentの参照URLをターミナル隣に表示可能
プログラマビリティ / 自動化APItmux: tmux send-keys / display-message などCLIで操作可能。シェルスクリプトとの親和性は高い✅ Unix socket API(JSON-RPC v1/v2)。cmux split-pane cmux open-url などCLIで完全制御可能
設定・カスタマイズ性✅ 非常に高い。Alacrittyはtoml、tmuxは.tmux.confで細かく制御。プラグインエコシステム(TPM)ありGhostty設定ファイルをそのまま読み込み。まだエコシステムは育ち中
成熟度✅ 高い。tmuxは2007年〜、Alacrittyは2017年〜。実績十分⚠️ 2026年2月リリース。HN #2、GitHubスター急増中だが本番実績はまだ浅い
クロスプラットフォーム✅ macOS / Linux / Windows(tmuxはLinux/macOS/BSD)❌ macOS専用
学習コストtmuxのキーバインド・設定・prefix操作に慣れるまで時間がかかる。既存のtmux知識があればほぼゼロGUIネイティブで直感的。ただしUnix socket APIを活用するには別途学習が必要
ライセンスAlacritty: Apache 2.0 / tmux: ISCAGPL-3.0(OSSだが商用利用時は注意)

階層構造がちょっと自分の直感と違うのがネックだから、Alacritty+tmuxかなぁ。

しばらくそれで運用してみる。