Skip to content

原文(日本語に翻訳)

CLAUDE_CODE_NO_FLICKER=1 環境変数を追加 — 仮想化されたスクロールバックを使用したちらつきのないオルタネートスクリーンレンダリングをオプトインできます

原文(英語)

Added CLAUDE_CODE_NO_FLICKER=1 environment variable to opt into flicker-free alt-screen rendering with virtualized scrollback

概要

CLAUDE_CODE_NO_FLICKER=1 環境変数を設定することで、ターミナルのオルタネートスクリーンモードを使用したちらつきのないレンダリングを有効にできます。仮想化されたスクロールバックと組み合わせることで、長時間の処理中や大量の出力が発生する場面でも画面のちらつきを大幅に抑制します。iTerm2やtmux環境でのジッター問題の根本的な解決策として機能します。

基本的な使い方

bash
# 一時的に有効化
CLAUDE_CODE_NO_FLICKER=1 claude

# シェルの設定ファイルで永続化
echo 'export CLAUDE_CODE_NO_FLICKER=1' >> ~/.bashrc
# または
echo 'export CLAUDE_CODE_NO_FLICKER=1' >> ~/.zshrc

実践例

tmux環境での設定

tmux内でClaudeを使用する場合、特にiTerm2との組み合わせでジッターが発生しやすいため、この設定が有効です。

bash
# ~/.tmux.conf または ~/.tmux.conf.local
set-environment -g CLAUDE_CODE_NO_FLICKER 1
bash
# セッション開始時に自動適用
# ~/.bashrc や ~/.zshrc に追加
if [ -n "$TMUX" ]; then
  export CLAUDE_CODE_NO_FLICKER=1
fi

Dockerコンテナ・CI環境での設定

dockerfile
# Dockerfile
ENV CLAUDE_CODE_NO_FLICKER=1
yaml
# GitHub Actions
env:
  CLAUDE_CODE_NO_FLICKER: "1"

ターミナルエミュレータ別の推奨設定

bash
# iTerm2でのちらつき防止(最も効果的な組み合わせ)
export CLAUDE_CODE_NO_FLICKER=1

# WezTermやGhosttyでも有効
export CLAUDE_CODE_NO_FLICKER=1

# Windows Terminalの場合
# .bashrc や .zshrc(WSL環境)
export CLAUDE_CODE_NO_FLICKER=1

注意点

  • この設定はオプトイン方式です。デフォルトでは無効のため、既存の動作には影響しません
  • 仮想化されたスクロールバックを使用するため、ターミナルの従来のスクロールバック履歴とは異なる動作をする場合があります
  • 一部の古いターミナルエミュレータでは、オルタネートスクリーンモードのサポートが限定的な場合があります
  • v2.1.89 では iTerm2 + tmux でのストリーミング中の定期的なUIジッターも別途修正されています

関連情報