原文(日本語に翻訳)
tmux 3.4以降で端末の同期出力(synchronized output)を有効にすることで、描画のちらつきを修正しました。
原文(英語)
Fixed rendering flicker under tmux 3.4+ by enabling synchronized terminal output
概要
tmux 3.4以降の中でClaude Codeを実行すると、画面の再描画が段階的に端末へ送られることで、更新の途中経過が一瞬見えてしまい、ちらつき(flicker)として認識される問題がありました。この修正により、対応するtmuxバージョンでは同期出力(synchronized output、フレーム全体が完成してから一括で端末に反映される仕組み)が自動的に有効化され、描画のちらつきが解消されました。
基本的な使い方
特別な設定は不要です。tmux 3.4以降の中でClaude Codeを起動すると、自動的に同期出力が使われます。
tmux
claude
# tmux 3.4+であれば自動的に同期出力が有効になり、描画がちらつかなくなる修正前: tmux 3.4以降のセッション内でClaude Codeの画面が更新されるたびに、途中状態の描画が一瞬見えてちらついていた。
修正後: フレームが完成してから一括で反映されるため、ちらつきなくスムーズに画面が更新される。
実践例
tmuxでペインを分割して長時間の対話セッションを行う
tmux上で複数ペインに分割し、片方でClaude Codeを動かしながら別ペインでログを確認するような使い方で、応答が流れるように表示される際のちらつきがなくなり、読みやすさが向上します。
tmux new -s dev
# ペインを分割してClaude Codeを起動
claudeSSH経由でリモートサーバー上のtmuxからClaude Codeを使う
リモートサーバーにSSH接続し、tmuxセッション内でClaude Codeを長時間動かす運用(バックグラウンドエージェントの監視など)でも、回線経由での描画のもたつきやちらつきが軽減されます。
tmuxとフルスクリーンレンダリングを併用する場合
CLAUDE_CODE_NO_FLICKER を設定してフルスクリーンレンダリングモードを使っている場合でも、tmux側の同期出力対応と合わせることで、さらに描画が安定します。
CLAUDE_CODE_NO_FLICKER=1 claude注意点
- 同期出力はtmux 3.4以降でのみ有効になります。それより古いtmuxではこの恩恵は受けられませんが、動作自体には影響しません。
- tmux内ではデスクトップ通知やプログレスバーが外側の端末に届かないなど、別の既知の制約があります。
~/.tmux.confにallow-passthrough onなどを設定することで改善できます。詳細は端末設定のドキュメントを参照してください。 - screenなど他のターミナルマルチプレクサは今回の修正の対象外です。