Claude Code のフルスクリーン表示: ちらつき解消とマウス操作

Claude Code エンジニアリング 7分で読めます

Claude Code の作業中に画面がチカチカする、ツール出力が流れるたびにスクロール位置が先頭へ飛ぶ、長いセッションで端末が重くなる。こうした症状に向けて用意されているのがフルスクリーンレンダリングです。vim や htop と同じように端末の代替スクリーンバッファ(alternate screen buffer)に画面を描き、いま見えているメッセージだけを描画することで、ちらつきを無くし、会話が長くなってもメモリ使用量を一定に保ち、マウス操作にも対応します。

本記事は公式ドキュメント「Fullscreen rendering」に基づき、有効化の方法、マウス操作、スクロールと検索、tmux やテキスト選択での注意点、表示が崩れたときの対処を日本語で解説します。なお、フルスクリーンレンダリングはリサーチプレビューの機能で、フィードバックに応じて挙動が変わる可能性があります。

フルスクリーン表示の仕組みと有効化

「フルスクリーン」は端末ウィンドウを最大化するという意味ではありません。Claude Code が vim のように端末の描画面を占有する、という描き方の名前で、ウィンドウの大きさに関係なく動作します。効果が大きいのは、VS Code の統合ターミナル、tmux、iTerm2 など、描画のスループットがボトルネックになりやすい端末です。

有効になっているかどうかは入力欄で見分けられます。フルスクリーンでは入力欄が画面下部に固定され、Claude が作業中でも動きません。

/tui で切り替える

会話の途中で /tui fullscreen を実行すると、CLI は tui 設定を保存し、会話を保ったままフルスクリーンで再起動します。元の描画方式(クラシックレンダラー)に戻すには /tui default、いまどちらで動いているかを確認するには引数なしの /tui を実行します。

再起動後のセッションには、画面に表示されている会話、権限モードと effort レベル、/model で最後に選んだモデル、--allowed-tools / --disallowed-tools のルールなどが引き継がれます。一方、--system-prompt による置き換えや --tools の許可リスト、--setting-sources のような再起動先に渡せない制限があるセッションでは、Cannot switch renderers in this session と理由を表示して、切り替えも保存も行いません。

環境変数で有効にする

起動前に環境変数 CLAUDE_CODE_NO_FLICKER を設定する方法もあります。

CLAUDE_CODE_NO_FLICKER=1 claude

逆に、保存した tui 設定に関係なくクラシックレンダラーを強制したい場合は CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を設定します。こちらは CLAUDE_CODE_NO_FLICKER と tui 設定のどちらよりも優先されます。

最初からフルスクリーンになる場合

どちらの描画方式で起動するかは環境によって決まります。公式の判定表を要約すると、上にあるものほど優先されます。

状況起動時の描画方式
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 または CLAUDE_CODE_NO_FLICKER=0 を設定クラシック
CLAUDE_CODE_NO_FLICKER=1 を設定フルスクリーン
このマシンでフルスクリーンの起動に失敗し、自動でオフになったクラシック
iTerm2 の tmux -CC 統合モード、または Windows 上の Claude Code に SSH で接続クラシック
tui 設定を保存済み設定どおり
機能フラグを Anthropic から取得するセッションで、2026年5月6日以降に初めて Claude Code を使ったフルスクリーン
上のどれにも当たらないクラシック

表には、Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry 経由やテレメトリを切ったセッションなど、機能フラグを取得しない場合の行もあります(そのマシンで最初に起動したバージョンが v2.1.239 以降ならフルスクリーン、など)。また、スクリーンリーダーモードでは常にクラシックレンダラーが使われ、agent view や claude attach で開くバックグラウンドセッションは常にフルスクリーンで描画されます。

クラシックで起動していて tui 設定を保存していない場合、起動時に切り替えを勧めるダイアログが出ることがあります。受け入れると /tui fullscreen と同じように再起動し、Not now を選ぶとそのマシンでは再び表示されません。回答の有無にかかわらず、3回表示した後は出なくなります。

マウスで操作する

フルスクリーンレンダリングではマウスのイベントを Claude Code が受け取って処理します。主な操作は次のとおりです。

選択したテキストは、マウスボタンを離した時点で自動的にクリップボードへコピーされます。これを止めたい場合は /config で Copy on select をオフにし、Ctrl+Shift+c で手動コピーします。選択中は Ctrl+c が中断ではなくコピーとして働く点にも注意してください。

なお、\\server\share\file.ts のようなネットワーク(UNC)パスは、開くと Windows の認証情報がそのホストへ送られるおそれがあるため、リンクにせずプレーンテキストで表示されます。

スクロールと会話の検索

会話は端末のスクロールバックではなく代替スクリーンバッファ上にあるため、スクロールは Claude Code の中で行います。

キー動作
PgUp / PgDn画面の半分ずつ上下にスクロール
Ctrl+Home会話の先頭へ移動
Ctrl+End最新のメッセージへ移動し、自動追従を再開
マウスホイール数行ずつスクロール

MacBook のように PgUp などの専用キーが無いキーボードでは、Fn+↑ が PgUp、Fn+↓ が PgDn になります。ただし Ctrl+Fn+→ は macOS では Claude Code に届かないため、末尾へ戻るには画面下の「Jump to bottom」ボタンをクリックするか、ホイールで下端までスクロールするか、scroll:bottom を押せるキーに割り当て直します(割り当て方はキーボードショートカットのカスタマイズを参照)。コンパクションが繰り返されても、フルスクリーンのスクロールバックには以前のメッセージがすべて残り、セッションの先頭まで遡れます。

自動追従とスクロール速度

上へスクロールすると自動追従が止まり、新しい出力が来ても引き戻されません。追従を常に止めておきたい場合は /config で Auto-scroll をオフにします(権限の確認など応答が必要なダイアログは、この設定に関係なく表示位置までスクロールされます)。

ホイールでのスクロールが遅いと感じたら、環境変数 CLAUDE_CODE_SCROLL_SPEED で倍率を指定します。3 は vim などの既定と同じ値で、20 までの正の値(0.25 のような1未満の小数も可)を受け付けます。対話的に調整したい場合は /scroll-speed を実行し、← / → で調整、Enter で ~/.claude/settings.json に保存します。JetBrains IDE のターミナルでは Claude Code が独自のスクロール処理を使うため、この変数は無視されます。

トランスクリプトモードで検索する

端末の Cmd+f や tmux の検索は、代替スクリーンバッファ上の会話を見つけられません。代わりに Ctrl+o でトランスクリプトモードに切り替えると、less に似たキー操作が使えます。

キー動作
/検索を開く。Enter で確定、Esc で取り消して元の位置へ戻る
n / N次 / 前の一致へ移動
g / G先頭 / 末尾へ移動
{ / }前 / 次のプロンプトへ移動
[ツール出力を展開した会話全体を端末のネイティブなスクロールバックへ書き出す。以後は Cmd+f や tmux のコピーモードで検索できる
v会話を一時ファイルに書き出し、$VISUAL または $EDITOR で開く
Ctrl+o / Esc / qトランスクリプトモードを終えてプロンプトに戻る

最後のプロンプト、ツール呼び出しの1行要約、最終的な応答だけを表示する静かな表示にしたい場合は /focus を使います(もう一度実行すると解除)。

tmux とテキスト選択の注意点

tmux で使う

フルスクリーンレンダリングは tmux の中でも動きますが、公式は3つの注意点を挙げています。

端末本来のテキスト選択を使いたい

マウスを Claude Code が受け取るため、端末本来の「選択でコピー」は効かなくなります。選択範囲は Claude Code の中にあり、tmux のコピーモードなどからは見えません(Claude Code 自身はクリップボードへ書き込みます。macOS は pbcopy、Windows と WSL は PowerShell の Set-Clipboard、SSH 越しでは OSC 52 を使います)。

一度だけ端末側で選択したいときは、修飾キーを押しながらドラッグします。Terminal.app は Fn、iTerm2 は Option、VS Code などとほとんどの端末は Shift です。常に端末側で選択したい場合は、マウスの取り込み自体を止めます。

CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

CLAUDE_CODE_DISABLE_MOUSE=1 ではちらつきの無い描画と一定のメモリ使用量はそのままで、キーボードでのスクロールも使えます。ただし、クリックでのカーソル移動・ツール出力の展開・URL のクリック・Claude Code 内のホイールスクロールは使えなくなります。ホイールスクロールだけ残してクリック・ドラッグ・ホバーの処理を止めたい場合は CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 を使います(両方設定すると CLAUDE_CODE_DISABLE_MOUSE が優先)。

表示が崩れたときの対処

症状対処
表示が乱れる、一部が空白になるCtrl+L で画面を再描画する。会話と入力内容はそのまま残る
古い出力の断片が画面に残る(Windows Terminal など ConPTY 系で起きやすい)CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1 を設定し、差分ではなく毎フレーム全体を描き直す。PowerShell では $env:CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT = "1" の後に claude を起動する。Windows のバックグラウンドセッションと agent view では自動で有効
iTerm2 でホイールが効かないが PgUp / PgDn は効くSettings → Profiles → Terminal で Enable mouse reporting をオンにする(クリックでの展開や選択にも必要)
起動時に Claude Code's fullscreen renderer didn't finish starting last time と出る前回フルスクリーンの起動が完了前に落ちたため、今回はクラシックで起動している。1回目の失敗なら次のセッションで再試行される。2回続けて失敗すると、更新するか /tui fullscreen を実行するまでクラシックのままになる。理由は引数なしの /tui の Current renderer 行で確認できる

それでも問題が残る場合や元に戻したい場合は /tui default を実行します(CLAUDE_CODE_NO_FLICKER で有効にしていたならその変数を外します)。クラシックレンダラーでは会話が端末のネイティブなスクロールバックに残るため、Cmd+f や tmux のコピーモードがこれまでどおり使えます。不具合は Claude Code 内の /feedback か、claude-code の GitHub リポジトリへ、端末エミュレーターの名前とバージョンを添えて報告するよう公式は案内しています。端末側の改行キーや通知の設定はターミナル設定の記事にまとめています。

本記事は Anthropic 公式ドキュメント「Fullscreen rendering」に基づく非公式の日本語解説です(確認日 2026-10-02)。日本語版ドキュメントと環境変数リファレンスの各変数の項とも照合しています。仕様は更新される場合があるため、利用前に公式ドキュメントをご確認ください。