tmuxのログが切れる対応

tmux + Claude Code でログが切れる問題の原因と対策。

原因

主に tmuxのスクロールバック(履歴)バッファが小さいことが原因です。デフォルトは2000行しかなく、Claude Codeの長い出力はすぐに溢れる。


対策①:tmuxのスクロールバックを増やす(最重要)

~/.tmux.conf に追記:

# スクロールバックを50,000行に増やす
set-option -g history-limit 50000

反映方法:

tmux source-file ~/.tmux.conf

既存セッションにも即時反映したい場合:

tmux set-option -g history-limit 50000

対策②:Claude Codeの出力をファイルに保存する

tmuxペインの出力をそのままログとして保存:

# ログ記録開始
tmux pipe-pane -o 'cat >> ~/claude_session.log'

# 停止
tmux pipe-pane

または script コマンドで丸ごと記録:

script -a ~/claude_session.log
# この中でclaude codeを起動する

対策③:tmuxのログ自動保存プラグイン(tmux-logging)

~/.tmux.conf にプラグイン追加(TPM使用の場合):

set -g @plugin 'tmux-plugins/tmux-logging'

キーバインド:

  • prefix + shift + p → ペインのログ保存開始/停止
  • prefix + alt + p → 全スクロールバックをファイル保存

対策④:Claude Code側の出力制御

Claude Codeに長い出力を複数回に分けて返してもらうよう指示する、または .claude/settings.json でコンテキスト設定を調整するのも有効です。


おすすめの組み合わせ

# ~/.tmux.conf
set-option -g history-limit 100000
set -g @plugin ‘tmux-plugins/tmux-logging’