/tui fullscreen と /tui default で何度でも往復でき、どちらを選んでも会話とモデルの設定は引き継がれる。
要点:
– 切り替えは /tui fullscreen、戻すのは /tui default、今どちらで動いているかは引数なしの /tui で分かる
– 会話はターミナルのスクロールバックから外れるため、検索は Ctrl+O のトランスクリプトモードに移る
– 設定は settings.json の "tui": "fullscreen"(文字列)。環境変数のほうが優先される
対象読者:Claude CodeをCLIで長時間使っているエンジニア、起動時の英語ダイアログで手が止まった人
今日やること:/tui を引数なしで打ち、今どちらのレンダラーで動いているかを確認する
Claude Codeを起動したら英語のダイアログが出た、画面がちらつく、Cmd+F で会話を検索できなくなった——TUI(ターミナルUI)まわりの疑問は、ほぼすべて「フルスクリーンレンダリングが有効かどうか」の一点に集約されます。
この記事は、Fullscreen rendering(Anthropic公式ドキュメント)をはじめとする公式ページとCHANGELOGを2026年9月24日に取得し、現行版で実際に使えるコマンド・設定キー・キー操作だけを並べたものです。公式に記載のない挙動は「記載なし」と書き分けています。
2026年9月24日時点の直答|全画面TUIとは何か、どう切り替えるか
まず、検索で来た方がその場で必要になる答えを表にまとめます。
| 問い | 2026年9月24日時点の答え |
|---|---|
| 全画面TUIとは何か | vim や htop と同じく、ターミナルの代替スクリーンバッファ(alternate screen buffer)に描く別のレンダラー。公式は「ウィンドウの最大化とは無関係で、どのウィンドウサイズでも動く」と明記している |
| どう切り替えるか | 会話の途中で /tui fullscreen。戻すのは /tui default。引数なしの /tui は現在のレンダラーを表示する |
| 切り替えると会話は消えるか | 消えない。CLIは再起動するが、画面上の会話・権限モード・effortレベル・/model で選んだモデルを引き継ぐ |
| 設定で固定するには | settings.json に "tui": "fullscreen"(文字列)。/tui の実行時にCLIが自動で書き込む |
| 現行版で使う主なキー | PgUp / PgDn(半画面スクロール)、Ctrl+Home / Ctrl+End(先頭・最新へ)、Ctrl+O(トランスクリプトモード)、その中で / 検索・n / N・{ / }・[・v、画面が乱れたら Ctrl+L で再描画 |
| 表示が崩れたら | /tui default。保存済み設定に関係なく強制したいときは CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 |
| 対象バージョン | npmの latest は 2.1.281(2026年9月23日公開)、stable タグは 2.1.273。/tui コマンドは v2.1.110 以降で使える |
バージョンはnpmレジストリの @anthropic-ai/claude-code を2026年9月24日に参照した値です。フルスクリーンレンダリングは公式が「リサーチプレビュー」と明記している段階の機能で、挙動はフィードバックに応じて変わる可能性があります。
「Try the new fullscreen renderer?」と表示されたら — 新フルスクリーンレンダラーの意味と選び方
Claude Codeを起動したら「Try the new fullscreen renderer?」という英語の確認が出て手が止まった——この記事にたどり着いた方の多くは、いままさにこの画面を前にしているはずです。結論から言うと、これはフルスクリーンレンダリング(公式ドキュメント)という描画方式へのオプトイン(任意参加)確認で、どちらを選んでも機能や会話は失われず、あとから何度でも切り替えられます。
このプロンプトは何を聞いているのか
フルスクリーンレンダリングは、Anthropicが公式ドキュメントで「リサーチプレビュー」と明記している代替描画パスです。環境変数 CLAUDE_CODE_NO_FLICKER によるオプトインはv2.1.89で、セッション中に切り替える /tui コマンドと tui 設定はv2.1.110で追加されました(いずれもCHANGELOG記載)。vim や htop と同じくターミナルの代替スクリーンバッファに描画し、画面に見えているメッセージだけをレンダリングする仕組みです。
公式ドキュメントは、この起動時ダイアログの出方についても条件を書いています。すでに tui 設定を保存している場合は出ません。また、答えたかどうかに関わらず3回起動時に表示したあとは提案を止めます。ダイアログの英語の文言そのもの(箇条書きの並びなど)は公式ページには載っていないため、バージョンによって表現が変わる可能性があります。
Yesと答えた場合に変わること
新レンダラーに切り替わり、次の4点が変わります。
- ちらつきが消える:ストリーミング出力中の画面フラッシュやスクロール位置の飛びがなくなります。公式によれば、VS Code統合ターミナル・tmux・iTerm2など描画スループットがボトルネックになる環境で差が出やすい機能です
- 入力欄が画面下部に固定される:長い出力が流れても入力位置が動きません。公式は「Claudeが作業している間に入力欄が動かなければフルスクリーンレンダリングが有効」という見分け方を書いています。表示中のメッセージだけを保持するため、会話が長くなってもメモリ使用量は一定です
- マウス操作が有効になる:クリックでのカーソル位置指定、折りたたまれたツール結果の展開、ホイールスクロールが使え、ドラッグ選択したテキストは既定でマウスを離した時点で自動コピーされます
- ターミナル標準の検索・コピーの挙動が変わる:会話が代替スクリーンバッファに移るため、
Cmd+Fやtmuxの検索からは見えなくなります。代わりにCtrl+Oのトランスクリプトモードで/による検索ができ、[を押せば会話全体をネイティブスクロールバックに書き出してターミナル検索に戻すこともできます
Noと答えた場合・あとから有効にしたい場合
従来レンダラー(公式表記はclassic renderer)のまま起動し、会話はこれまでどおりターミナルのネイティブスクロールバックに残ります。公式ドキュメントによれば、「Not now」を選ぶとそのマシンでは以後ダイアログを出しません。あとから気が変わったら、セッション中に /tui fullscreen を実行するだけで、会話を保持したままフルスクリーンに切り替わります。切り替え時はCLIが tui 設定として自動保存するため、settings.json を手で編集する必要はありません。いまどちらのレンダラーで動いているか確認したいときは、引数なしで /tui を実行すると現在有効なレンダラーが表示されます。
表示が崩れたときの戻し方
新レンダラーで表示崩れやスクロール不能が起きたら、/tui default で従来レンダラーに戻すのが公式の正規手順です。保存済みの tui 設定に関係なく従来レンダラーを強制したい場合は、環境変数 CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を設定して起動します(CHANGELOGによればv2.1.132で追加)。画面の一部が消えたり文字が残ったりしているだけなら、Ctrl+L を押すと会話と入力内容を保ったまま再描画されます。Windows TerminalなどConPTY系の端末で古い出力の断片が残る場合は、CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1 を設定すると毎フレーム全セルを描き直します。再現する不具合は /feedback から報告できます。
このダイアログでどう答えるか:3つの典型ケース
| 状況 | 推奨の答え | 理由 |
|---|---|---|
| 長時間セッション・大規模リファクタリングが中心 | Yes | ちらつき解消とメモリ一定化の恩恵が最も大きい使い方 |
短い1問1答が中心で、会話を Cmd+F やtmuxコピーモードで検索・コピーする習慣がある |
No(必要になったら /tui fullscreen) |
ネイティブスクロールバックがそのまま使える従来方式のほうが摩擦が少ない |
| VS Code統合ターミナル内でClaude Codeを使っていて画面が揺れる | Yes | 描画スループットが低い環境ほど改善幅が大きい |
迷ったらまずYesで試し、不便を感じたら /tui default で戻す——この往復コストがほぼゼロなので、このダイアログで悩みすぎる必要はありません。
切り替えの3経路と優先順位|/tui・tui設定・環境変数

フルスクリーンの有効・無効を決める入口は3つあります。ここを混同すると「設定を書いたのに効かない」が起きます。
- スラッシュコマンド:
/tui fullscreenで有効化、/tui defaultで無効化。どちらもtui設定を書き込む tui設定:Settings reference(公式)によれば、値は"default"か"fullscreen"の文字列。既定は未設定で、未設定のときはClaude Codeが自動で判定する- 環境変数:
CLAUDE_CODE_NO_FLICKER=1で有効、CLAUDE_CODE_NO_FLICKER=0またはCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1で無効
優先順位は公式の tui 設定の項に明記されています。環境変数はそのセッションに限り tui 設定より優先され、両方が指定された場合は無効側が勝ちます。設定ファイルに書く場合は次のとおりです。
// ~/.claude/settings.json
{
"tui": "fullscreen"
}
環境変数で一時的に有効化する場合は、起動コマンドの前に置きます。
# 一時的にフルスクリーンで起動する
CLAUDE_CODE_NO_FLICKER=1 claude
# 保存済み設定に関係なく従来レンダラーを強制する
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 claude
公式のTerminal configurationページには、settings.json の env ブロックに書く方法とPowerShellでの書き方も載っています。なお、ちらつきだけが問題でレンダラーを変えたくない場合は CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 という別の環境変数があり、同期出力に対応しているのに自動検出されない端末(Emacsの eat など)で使えると公式が案内しています。
次の起動でどちらになるか — 既定レンダラーの判定表
「設定していないのにフルスクリーンで立ち上がる」「同僚は従来レンダラーのまま」という差は、公式ドキュメントの判定順で説明できます。上から順に最初に当てはまった行が採用されます。
| あなたの状況 | 起動時のレンダラー |
|---|---|
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 または CLAUDE_CODE_NO_FLICKER=0 を設定している |
従来 |
CLAUDE_CODE_NO_FLICKER=1 を設定している |
フルスクリーン |
| このマシンでフルスクリーン起動に失敗し、Claude Codeが自動的に無効化した | 従来 |
iTerm2のtmux統合モード(tmux -CC)、またはWindows上のClaude CodeへSSH接続している |
従来 |
tui 設定を保存している |
設定した側 |
| 機能フラグを取得しないセッションで、このマシンでは起動時ダイアログの提案が終了している | 従来 |
| 機能フラグを取得しないセッションで、このマシンの初回起動がv2.1.239以降だった | フルスクリーン |
| 機能フラグを取得するセッションで、Claude Codeを2026年5月6日以降に初めて使った | フルスクリーン |
| 上記以外 | 従来 |
公式によれば、機能フラグを取得しないセッションにはAmazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry経由の利用や、テレメトリを切ったセッションが含まれます。企業の統制下で「手元と本番サーバーで挙動が違う」ときは、まずこの行を疑うと早いです。Claude Codeの設定ファイル階層を把握しておくと、どのファイルの値が効いているかを追いやすくなります。
まず試したい「5分で動く」セットアップ3選
セットアップ1:/tui fullscreenでフルスクリーンモードに切り替える
Claude Codeのセッション中に以下のコマンドを入力するだけです。
# Claude Codeのセッション内で実行
/tui fullscreen
これだけで、現在の会話を保持したままフルスクリーンレンダリングに切り替わります。公式ドキュメントによれば、再起動後のセッションに引き継がれるのは「画面上の会話」「権限モードとeffortレベル」「/model で最後に選んだモデル」「--allowed-tools / --disallowed-tools のルールと --agent 系フラグ」です。元に戻すには /tui default を実行します。
# フルスクリーンから従来レンダラーに戻す
/tui default
# いまどちらで動いているかを表示する
/tui
効果:公式ドキュメントによれば、フルスクリーンレンダリングはストリーミング出力中の画面フラッシュやスクロール位置の飛びをなくし、会話が長くなってもメモリ使用量を一定に保ちます。差が出やすいのは、VS Code統合ターミナル・tmux・iTerm2のように描画スループットがボトルネックになる環境です。
対象バージョン:/tui コマンドはv2.1.110以降。それ以前は環境変数 CLAUDE_CODE_NO_FLICKER=1(v2.1.89で追加)のみの方式でした。
セットアップ2:autoScrollEnabled設定でスクロール挙動を制御する
フルスクリーンモードでは、新しい出力が届くたびに表示が最下部へ追従します(auto-follow)。前のやりとりを参照しながら作業する場合は、追従を切ったほうが使いやすい場面があります。
2026年9月24日時点の正しい書き方は、autoScrollEnabled を settings.json のトップレベルに置く形です。公式のSettings referenceでは tui と autoScrollEnabled は別々のキーとして定義されており、tui の中に入れ子にはしません。
// ~/.claude/settings.json
{
"tui": "fullscreen",
"autoScrollEnabled": false
}
公式によれば、この値は /config の Auto-scroll と同じもので、画面から切り替えるとユーザー設定に書き込まれます。false にしてもパーミッションの確認ダイアログは表示位置までスクロールしてくるため、承認待ちを見落とす心配は公式の説明上ありません。
セットアップ3:Ctrl+Oで通常/詳細トランスクリプト表示を切り替える
v2.1.110で /focus が独立コマンドになったのに伴い、Ctrl+O の役割が整理されました。
旧(v2.1.109以前):Ctrl+O → フォーカスビューのトグル
現行: Ctrl+O → トランスクリプトモードのトグル
/focus → フォーカスビュー(独立コマンド・設定は保持される)
トランスクリプトモードでは、ツール呼び出しの詳細が展開表示され、less 風のキー操作と検索が使えます。常に全出力を展開したい場合は verbose 設定、起動時の表示モードを固定したい場合は viewMode 設定("default" / "verbose" / "focus")が公式に用意されています。
現行版で使えるキー操作一覧|スクロール・transcript・選択

フルスクリーンではスクロールをClaude Code自身が処理するため、ターミナル側のスクロール操作とは別体系になります。公式ドキュメントに載っているキーを機能別に並べます。
| 場面 | キー | 動作 |
|---|---|---|
| スクロール | PgUp / PgDn |
半画面ぶん上下にスクロール |
| スクロール | Ctrl+Home |
会話の先頭へ移動 |
| スクロール | Ctrl+End |
最新メッセージへ移動し、自動追従を再開 |
| スクロール | マウスホイール | 数行ずつスクロール |
| 表示の切り替え | Ctrl+O |
通常の入力画面とトランスクリプトモードを行き来する |
| トランスクリプト内 | / |
検索を開く(Enter で確定、Esc で取り消してスクロール位置を復元) |
| トランスクリプト内 | n / N |
次・前の一致へ移動(検索バーを閉じたあとも有効) |
| トランスクリプト内 | j / k、↑ / ↓ |
1行ずつスクロール |
| トランスクリプト内 | g / G、Home / End |
先頭・末尾へ移動 |
| トランスクリプト内 | { / } |
前・次のプロンプトへ移動 |
| トランスクリプト内 | Ctrl+u / Ctrl+d |
半ページスクロール |
| トランスクリプト内 | Ctrl+b / Ctrl+f、Space / b |
1ページスクロール |
| トランスクリプト内 | [ |
会話全体をターミナルのネイティブスクロールバックへ書き出す(以後 Cmd+F やtmuxコピーモードで検索できる) |
| トランスクリプト内 | v |
会話を一時ファイルに書き出し $VISUAL または $EDITOR で開く |
| トランスクリプト内 | q、Esc、Ctrl+O |
トランスクリプトモードを抜ける |
| トランスクリプト内 | ? |
キーボードショートカットのヘルプパネルを開閉する(フルスクリーンのみ) |
| 画面の乱れ | Ctrl+L |
会話と入力内容を保ったまま画面を再描画する |
MacBookのように PgUp / PgDn / Home / End の独立キーがないキーボードでは、Fn と矢印キーの組み合わせが同じ信号になります(Fn と ↑ が PgUp、Fn と ↓ が PgDn)。公式は「Ctrl と Fn と → の組み合わせはmacOSではClaude Codeに届かないため、Macのキーボードには既定で最下部へ飛ぶ操作がない」と明記しており、代わりに画面右下の「Jump to bottom」ボタンをクリックするか、ホイールで最下部まで戻すか、scroll:bottom を別のキーに割り当てるよう案内しています。
キーの割り当ては ~/.claude/keybindings.json で変更できます。/keybindings でファイルを開き、コンテキストごとに割り当てを書きます(公式によればファイルの変更は再起動なしで反映されます)。
// ~/.claude/keybindings.json
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"bindings": [
{
"context": "Scroll",
"bindings": {
"ctrl+j": "scroll:bottom"
}
}
]
}
スクロール系のアクション名は scroll:lineUp / scroll:lineDown / scroll:pageUp / scroll:pageDown / scroll:top / scroll:bottom のほか、既定では未割り当ての scroll:halfPageUp / scroll:halfPageDown / scroll:fullPageUp などがあります。カスタムキーバインドの仕組み自体はv2.1.18で追加されたものです。
マウスでできることと、ネイティブ選択を残す設定
フルスクリーンではClaude Codeがマウスイベントを受け取ります。公式ドキュメントに列挙されている操作のうち、日常で使うものは次のとおりです。
- 入力欄のクリック:入力中のテキストの任意の位置にカーソルを置ける
- 候補のクリック:
/コマンドや@のファイル候補をクリックで確定できる - 選択メニューのクリック:権限プロンプト・
/model・/configなどの選択肢をクリックできる(v2.1.187以降。複数選択メニューはv2.1.208以降、/configの値のクリックはv2.1.271以降) - 折りたたまれたツール結果のクリック:展開・再折りたたみができる。
!で実行したシェルコマンドの出力もクリックで展開できる(v2.1.257以降) - リンクを開く:macOSは
Cmd、LinuxとWindowsはCtrlを押しながらクリック。修飾キーなしのクリックでは開かない - 選択とコピー:ドラッグで選択、ダブルクリックで単語、トリプルクリックで行。既定ではマウスを離した時点でクリップボードへコピーされる
自動コピーは /config の Copy on select で切り替えます。切った場合の手動コピーは Ctrl+Shift+c、kittyキーボードプロトコルに対応する端末(kitty・WezTerm・Ghostty・iTerm2)では Cmd+c も使えると公式に記載があります。
問題になりやすいのは、マウスキャプチャによってターミナル側のコピー&ペーストが効かなくなる点です。一時的にネイティブ選択へ戻すキーは端末ごとに異なり、公式はTerminal.appが Fn、iTerm2が Option、VS Code・Cursor・Devin Desktopが Shift、その他の多くの端末が Shift と案内しています。常時ネイティブ選択を使いたい場合は環境変数で外します。
# ちらつき解消は残したまま、マウスキャプチャだけ外す
CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude
# ホイールスクロールは残し、クリック・ドラッグ・ホバーだけ無効化(v2.1.195以降)
CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 claude
ホイールの速度は CLAUDE_CODE_SCROLL_SPEED で調整できます。公式によれば20までの正の値を受け付け、3 が vim の既定に相当し、トラックパッドで速すぎる場合は 0.25 のような1未満の値も指定できます。対話的に合わせたい場合は /scroll-speed(v2.1.139で追加)を使うと、ダイアログ上の目盛りをスクロールしながら ← と → で調整し、r でリセット、Enter で保存できます。
/focus コマンドで表示モードを使い分ける
v2.1.110でフォーカスビューが /focus コマンドとして独立しました。公式のコマンド一覧によれば、/focus はフルスクリーンレンダリングでのみ利用でき、表示されるのは「最後のプロンプト」「編集差分の統計を含むツール呼び出しの1行サマリ」「最終レスポンス」の3つです。選択はセッションをまたいで保持され、viewMode 設定で上書きできます。
# フォーカスビューのオン・オフを切り替える(同じコマンドでトグル)
/focus
長い処理を走らせている間、画面がツールログで埋まらずに済みます。挙動の詳細はFocus Viewの使い方を扱った記事にまとめています。
フルスクリーンならではの画面としては /diff のパネルもあります。公式のInteractive modeページによれば、パネルとして開くには「フルスクリーンレンダリング」「gitリポジトリであること」「ターミナル幅110桁以上」「v2.1.260以降」の4条件が必要で、幅144桁以上なら編集開始時に自動で開きます。条件を満たさない場合は従来のdiffビューアが開くか、理由が表示されます。
テーマとステータスラインで画面を整える
配色は /theme、または /config のテーマ選択で変えます。公式のSettings referenceに載っている theme の値は "auto"(端末の明暗に追従)・"dark"・"light"・"dark-daltonized"・"light-daltonized"(色覚に配慮した配色)・"dark-ansi"・"light-ansi"(端末のANSIパレットのみを使う)で、既定は "dark" です。~/.claude/themes/ やプラグインが提供するカスタムテーマは "custom:<slug>" の形で指定し、/theme の一覧末尾にある「New custom theme…」から対話的に作成できます。
// ~/.claude/settings.json
{
"theme": "light-daltonized"
}
画面下部の情報表示はステータスラインです。/statusline を実行すると、やりたいことを書くか、引数なしでシェルのプロンプトから自動設定できます。手で書く場合は statusLine にコマンドを指定します。
// ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "jq -r '"[\(.model.display_name)] \(.context_window.used_percentage // 0)% context"'",
"padding": 2
}
}
この例は jq を使ってモデル名とコンテキスト使用率を表示します。公式のStatus lineページによれば、ステータスラインは組み込みのフッターバッジの上の行に描かれ、置き換えるわけではありません。ただしカスタムステータスラインを設定すると、フッターのキーヒント(esc to interrupt や ? for shortcuts など)の多くは表示されなくなります。任意項目として padding・refreshInterval(最小1秒)・hideVimModeIndicator が用意されています。
モバイルプッシュ通知を設定する
Remote Controlを接続している間、Claudeは長時間タスクの完了時などにスマートフォンへプッシュ通知を送れます。2026年9月24日時点の公式手順は、設定ファイルの手書きではなく /config のトグルが中心です。
設定手順
公式のRemote controlページに記載された手順は4段です。
- iOSまたはAndroidのClaudeモバイルアプリをインストールする
- ターミナルのClaude Codeと同じアカウント・組織でサインインする
- OSの通知許可を与える
- ターミナルで
/configを開き、Push when Claude decides(Claudeの判断で送る)と Push when actions required(権限確認や質問のとき送る)のどちらか、または両方を有効にする
設定ファイルで管理したい場合、対応するキーはトップレベルの agentPushNotifEnabled です。Remote Controlをセッション開始時に自動接続したい場合は remoteControlAtStartup を使います(手動で接続するときは /remote-control)。
// ~/.claude/settings.json
{
"agentPushNotifEnabled": true,
"remoteControlAtStartup": true
}
公式は「Claudeがいつ送るかを判断する。プロンプトで『テストが終わったら知らせて』のように依頼することもできる。上記2つのトグル以外にイベント単位の設定はない」と明記しています。届かないときの確認先も公式に列挙されており、/config に No mobile registered と出る場合はスマートフォンでClaudeアプリを開いてプッシュトークンを更新する、iOSは集中モードと通知要約、Androidはバッテリー最適化を確認する、という順です。なお公式は「接続中のターミナルで入力している間はモバイルへのプッシュを送らない」とも書いています。ターミナル側で鳴らしたい通知はHooksを使った通知設定のほうが細かく制御できます。
Remote Controlの拡張コマンド(v2.1.110で追加)
v2.1.110以降、モバイル・ウェブのクライアントからも以下のコマンドが使えます。
# モバイルから実行できるようになったコマンド
/autocompact # コンテキスト圧縮の設定
/context # コンテキスト使用量の確認
/exit # セッション終了
/reload-plugins # プラグインのリロード
/extra-usage # 追加使用量の確認
PC側のターミナルに戻らなくても、モバイルから基本的なセッション管理ができます。
切り替えが拒否されるときの読み解き方
/tui fullscreen を実行しても切り替わらず、英語のエラーが出ることがあります。公式のErrorsページによれば、レンダラーの切り替えはプロセスの再起動を伴うため、再起動で失われるものがあるときは切り替えを断る設計です。メッセージは2種類あります。
| メッセージ | 原因 | 対処 |
|---|---|---|
Cannot switch renderers while work is running in the background |
バックグラウンドシェルやサブエージェントなど、再起動で失われる作業が動いている | 作業の終了を待つか /tasks で止めてから、あらためて /tui fullscreen を実行する |
Cannot switch renderers in this session |
再起動先へ引き継げない制約がセッションに付いている。括弧内に理由が表示される | その制約なしで起動したセッションで /tui fullscreen を実行すると、以後のセッションにも設定が効く |
引き継げない制約として公式が挙げているのは、--system-prompt 系の置き換えフラグ・--tools のallowlist・--setting-sources といった起動フラグと、hookやSDKがそのセッション限定で追加した拒否・確認ルールです。なおCHANGELOGによれば、この「断る」挙動はv2.1.234での修正で、それ以前は再起動して制約が外れていました。バックグラウンド作業を理由に断る挙動はv2.1.141で入っています。
起動そのものに失敗した場合は別のメッセージが出ます。公式によれば、フルスクリーンのセッションが「最初のフレームを描画したあと10秒以上動き続ける」か「/exit・Ctrl+C・Ctrl+D で終了する」前に落ちると失敗としてカウントされ、1回目は次回もフルスクリーンで試し、2回目以降は更新するか /tui fullscreen を実行するまで従来レンダラーを使い続けます。従来レンダラーで起動している理由が失敗によるものかどうかは、引数なしの /tui の「Current renderer」行に表示されます。
tmux・iTerm2・VS Code・JetBrains・Windowsでの注意点
環境ごとに公式が明記している制約をまとめます。ここを外すと「自分の環境だけ動かない」に見えます。
| 環境 | 公式に書かれている注意 |
|---|---|
| tmux | ホイールスクロールには ~/.tmux.conf の set -g mouse on が必要。キーボードの PgUp / PgDn は設定なしで動く |
| tmux 3.6系まで | 同期出力に未対応のため、直接ターミナルで動かすより再描画のちらつきが出ることがある |
iTerm2のtmux統合モード(tmux -CC) |
代替スクリーンバッファとマウストラッキングが正しく動かないため、公式は「フルスクリーンを有効にしないでください」と明記。-CC なしの通常のtmuxは問題なし |
| iTerm2 | ホイールとクリック展開・テキスト選択には「Settings → Profiles → Terminal」の Enable mouse reporting が必要。OSC 52によるクリップボード転送も既定で塞がれており、/terminal-setup が有効化を代行する |
| VS Code統合ターミナル | ホイールは1ノッチにつき1イベントしか送らないため、CLAUDE_CODE_SCROLL_SPEED での調整が効きやすい。リンクは端末側のハンドラに委ねられる |
| JetBrains IDEのターミナル | Claude Codeが独自のスクロール処理を使うため CLAUDE_CODE_SCROLL_SPEED は無視される。/scroll-speed も使えない。2025.2のスクロール不具合は自動で緩和されるが、公式は2025.3以降への更新を推奨 |
| Windows Terminalなど ConPTY系 | 差分描画が正しく合成されず古い文字が残ることがある。CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT=1 で全面再描画にする |
| スクリーンリーダーモード | 常に従来レンダラーを使う。/tui fullscreen を実行しても切り替わらず説明が表示される(バックグラウンドセッションに接続した場合を除く) |
Claudeのバックグラウンドセッション(agent viewから開いたものや claude attach)は、公式によれば tui 設定や CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN に関わらず常にフルスクリーンで描画されます。複数セッションを並行させる運用はClaude Code Desktopリビルド完全ガイドも参考になります。
よくある失敗パターンと回避策
失敗1:/tuiと/focus の使い分けを間違える
❌ よくある間違い:/tui と打ったのに何も変わらないと思ってしまう
⭕ 正しいアプローチ:引数なしの /tui は「現在のレンダラーを表示する」コマンド。切り替えるなら /tui fullscreen か /tui default、フォーカスビューは /focus を使う
なぜ重要か:v2.1.110でコマンド体系が変わったため、それ以前の操作を覚えているとアップデート後に噛み合いません。
失敗2:プッシュ通知が届かないのにsettings.jsonだけ確認する
❌ よくある間違い:settings.json に古い形式のキーを書き、効かないので値を増やして試行錯誤する
⭕ 正しいアプローチ:まず /config でトグルの状態とモバイル登録の有無を見る。公式が書いている確認順は次のとおりです
1. /config の Push when Claude decides / Push when actions required が有効か
2. /config に No mobile registered と出ていないか(出ていればスマホでClaudeアプリを開く)
3. Remote Control が接続されているか(/remote-control)
4. iOS: 集中モード・通知要約 / Android: バッテリー最適化の除外
なぜ重要か:プッシュはRemote Controlの接続とモバイル側の登録が揃って初めて届きます。片方だけでは届きません。
失敗3:autoScrollEnabled:falseで新しいレスポンスを見逃す
❌ よくある間違い:自動追従を切ったまま長時間放置し、いま何行目まで進んでいるか分からなくなる
⭕ 正しいアプローチ:切るのは過去を読み返す間だけにして、戻すときは Ctrl+End(Macのキーボードなら画面右下の「Jump to bottom」ボタン)で最新へ戻し自動追従を再開する。新着があるとボタンに「3 new messages」のような件数が出ます
失敗4:v2.1.110以前の設定ファイルをそのまま使う
❌ よくある間違い:tui をオブジェクトとして書き、その中に表示系の設定を入れ子にしている
⭕ 正しいアプローチ:tui は "default" / "fullscreen" の文字列。表示系の設定は autoScrollEnabled・verbose・viewMode・theme のようにトップレベルの別キーとして書く
# 現在のバージョンを確認する
claude --version
2026年9月24日の突合で訂正した点(旧版の記述との差分)

この記事は2026年4月のv2.1.110リリース時点の内容から始まり、9月4日に追記を挟んでいます。2026年9月24日に公式ドキュメントを取り直して突合した結果、以下の4点を訂正しました。同じ書き方が社内のドキュメントに残っている場合は合わせて直すことをおすすめします。
| 旧版の記述 | 2026年9月24日時点の正しい記述 | 根拠 |
|---|---|---|
"tui" をオブジェクトとして書き、中に autoScrollEnabled を入れ子にする |
"tui" は "default" / "fullscreen" の文字列。autoScrollEnabled はトップレベルの独立キー |
Settings reference の tui / autoScrollEnabled の項 |
remoteControl.enabled と pushNotifications.mode を書く |
トップレベルの agentPushNotifEnabled と remoteControlAtStartup。イベント単位の設定は存在せず、/config の2つのトグルだけ |
Settings reference と Remote control の Mobile push notifications |
最新版はv2.1.260で、フルスクリーンでは Ctrl+L が画面を消す |
npmの latest は2.1.281(2026年9月23日公開)。Ctrl+L は再描画に戻った(v2.1.260で「消す」に変更され、v2.1.280で差し戻し) |
CHANGELOG 2.1.260 / 2.1.280、npmレジストリ |
| フルスクリーンは常にオプトインで、ダイアログに答えるまで従来レンダラー | 条件によっては既定でフルスクリーンで起動する(初回利用が2026年5月6日以降、初回起動がv2.1.239以降など) | Fullscreen rendering の「Fullscreen by default」表 |
加えて、旧版では出典として個人ブログ・リリース集約サイトを挙げていましたが、今回の改稿では公式ドキュメントとCHANGELOGに置き換えています。
v2.1.110 主要変更点まとめ表
まず、TUIまわりの体系が変わったv2.1.110の前後を整理します。
| 機能 | v2.1.109以前 | v2.1.110以降 |
|---|---|---|
| フルスクリーン | 環境変数 CLAUDE_CODE_NO_FLICKER=1 のみ |
/tui fullscreen と tui 設定でセッション中に切り替え |
| フォーカスビュー | Ctrl+O |
/focus コマンド(フルスクリーン時のみ) |
| トランスクリプト切替 | — | Ctrl+O |
| プッシュ通知 | — | agentPushNotifEnabled と /config のトグル |
| Remote Controlコマンド | 基本コマンドのみ | /context・/exit・/reload-plugins などを追加 |
その後の主な変化をCHANGELOGから抜き出すと、TUIまわりは次のように動いています。
| バージョン | TUIまわりの変更 |
|---|---|
| v2.1.89 | CLAUDE_CODE_NO_FLICKER=1 を追加(代替スクリーンでの描画にオプトイン) |
| v2.1.110 | /tui コマンドと tui 設定を追加。Ctrl+O の役割を変更し /focus を新設 |
| v2.1.132 | CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を追加 |
| v2.1.139 | /scroll-speed を追加(目盛りを見ながらホイール速度を調整) |
| v2.1.141 | バックグラウンド作業があるときの /tui を「黙って落とす」から「断る」に変更 |
| v2.1.234 | 再起動で引き継げない制約があるセッションでは理由を示して切り替えを断るように変更 |
| v2.1.260 | 会話の横に未コミットの変更を表示する /diff パネルを追加 |
| v2.1.280 | v2.1.260で変えた Ctrl+L / Cmd+K の挙動を差し戻し、再描画に戻す |
| v2.1.281 | /skills・/mcp・/plugin の一覧にスクロールバーを追加(2026年9月24日時点のnpm latest) |
バージョンごとの新機能を広く追いたい場合は2.1.245の新機能をまとめた記事も参照してください。
フルスクリーン/TUIが効くワークフローと、通常モードで十分な場面の見極め
/tui fullscreen を知ったからといって「常にフルスクリーンで使えばいい」とはなりません。タスクの性質・ターミナル環境・後工程によって、フルスクリーンが明確に有利な場面と、通常モードのほうが摩擦が少ない場面に分かれます。
| タスク種別・状況 | 推奨モード | 判断の根拠 |
|---|---|---|
| 大規模リファクタリング・長時間セッション(出力が数百行に及ぶ) | フルスクリーン | ストリーミング出力中の画面フリッカーがなくなる。入力ボックスが画面下部に固定されるため、長い出力が流れても入力位置が動かない |
| tmux の分割ペイン・iTerm2 のスプリットウィンドウと併用 | フルスクリーン | マウスクリックでプロンプト内のカーソル位置を任意に変更できる。通常モードはマウス操作に非対応 |
| VS Code の統合ターミナル内で Claude Code を起動している | フルスクリーン | VS Code は描画スループットがネイティブターミナルより低い傾向があり、通常モードだと出力のたびに画面がチラつきやすい |
| 変更差分を見ながら進めたい(gitリポジトリ・幅110桁以上) | フルスクリーン | /diff が閉じる必要のあるビューアではなく、会話の横のパネルとして開く(v2.1.260以降) |
| 短い 1 問 1 答・コマンド実行の確認 | 通常モード | 会話がターミナルのネイティブスクロールバックに残るため、Cmd+F や tmux copy mode でそのまま検索・コピーできる |
ログ解析・パイプ構文(例:tail -200 app.log | claude -p "...") |
通常モード(CLI) | パイプベースのワークフローはインタラクティブな TUI セッションとは別の起動形式になる。バッチ・自動化用途は非インタラクティブ CLI が適切 |
| 会話ログをテキスト検索・外部エディタにコピーしたい | 通常モード、またはフルスクリーンで Ctrl+O から [ |
通常モードはターミナルの検索機能がそのまま使える。フルスクリーン時は [ で会話をスクロールバックへ書き出すとターミナル検索に戻せる |
| スクリーンリーダーを使っている | 通常モード(自動) | スクリーンリーダーモードでは公式が常に従来レンダラーを使う設計。/tui fullscreen を実行しても切り替わらない |
判断軸をひとことで言えば、「出力が長くなる・並行作業が多い・画面が揺れる環境ならフルスクリーン、短い対話・パイプ・テキスト検索が主なら通常モード」が基本の考え方です。切り替えコストが低いので、その日のタスク内容に合わせて都度選べば十分です。
VS Code拡張・他ターミナルUIとTUIの使い分け:比較表と用途別判断フロー
Claude Code のインターフェースは TUI(フルスクリーン/通常)だけではありません。VS Code 拡張という選択肢もあり、用途に応じて手を動かす環境を切り替えるという発想が、実際の開発ワークフローではうまく機能します。
3つのインターフェースの特性比較
| インターフェース | 主な強み | 苦手・制限がある点 | 特に向いている場面 |
|---|---|---|---|
| Claude Code TUI(フルスクリーン) | マウス操作対応、長い出力でもフリッカーなし、入力ボックスが固定、Ctrl+O でトランスクリプト表示、/diff パネル |
パイプ構文・バックグラウンド実行には不向き。テキスト検索はひと手間かかる | 大規模リファクタリング、tmux 並行作業、VS Code 統合ターミナル内での長時間セッション |
| Claude Code VS Code 拡張 | diff 表示、選択範囲のコンテキスト共有、診断(lint/エラー)共有が IDE 内で完結。claude --resume でターミナルセッションとの継続も可能 |
スラッシュコマンドの一部や MCP サーバー設定はターミナル CLI 側で行う必要がある場合がある | マルチファイル編集、テスト実行しながらのコード改善、コードレビュー補助 |
| Claude Code 通常 CLI(従来レンダラー) | ! のシェルモード、パイプ構文、ターミナルのネイティブ検索がそのまま使える |
長い出力ではフリッカーが発生しやすい。マウス操作非対応 | シェルスクリプト自動化、ログ解析、短いタスクの繰り返し、バックグラウンド処理 |
用途別の判断フロー
以下の4つが、日常の開発作業でよく遭遇する判断ポイントです。
-
「マルチファイルを横断して変更箇所を確認しながら進めたい」
VS Code 拡張を起点にする。IDE の diff ビュー・テストランナー・エラー診断を活かしながら Claude Code が動く。セッションが長くなってきたらclaude --resumeでターミナルに引き継いで継続できる。 -
「ログ解析やシェル自動化を Claude Code に手伝わせたい」
通常 CLI を使う。tail -200 error.log | claude -p "エラーを分類して原因を推定して"のようなパイプ構文は、TUI のインタラクティブモードでは使えない。自動化・バッチ処理は非インタラクティブ CLI が正解。 -
「tmux で複数ペインを開きながら長い会話をしたい」「VS Code の統合ターミナルで画面が揺れる」
TUI フルスクリーンに切り替える。/tui fullscreenを実行するだけで即座に変更でき、会話はそのまま引き継がれる。tmux ではset -g mouse onを先に入れておく。 -
「MCP サーバーの設定をしたい・スラッシュコマンドをフルセットで使いたい」
ターミナル CLI(フルスクリーンまたは従来レンダラー)を使う。VS Code 拡張のみで作業している場合、MCP 設定の読み込みや一部のスラッシュコマンドはターミナル側で行うほうが確実なケースがある。
実務でよく機能するパターンは、「マルチファイル・レビュー系は VS Code 拡張、自動化・ログ解析は通常 CLI、長時間インタラクティブ作業は TUI フルスクリーン」という3モードの使い分けです。3つは排他ではなく、--resume でセッションを引き継げます。
よくある質問
フルスクリーンにするとターミナルのウィンドウが最大化されるのですか?
いいえ。公式ドキュメントは「fullscreen という語は vim と同じようにClaude Codeがターミナルの描画面を引き取ることを指し、ウィンドウの最大化とは無関係で、どのウィンドウサイズでも動く」と明記しています。ウィンドウの大きさは変わりません。
起動時のダイアログで「Not now」を選ぶと、もう二度と出ませんか?
公式によれば、「Not now」を選んだ場合そのマシンでは以後提案しません。また、答えたかどうかに関わらず3回の起動で表示したあとは提案を止めます。あとから使いたくなったら /tui fullscreen を実行すれば有効にできます。
いま自分がどちらのレンダラーで動いているか確認する方法は?
引数なしで /tui を実行すると、現在有効なレンダラーが表示されます。フルスクリーン起動に失敗したことが理由で従来レンダラーになっている場合は、その旨も「Current renderer」の行に出ます。作業中の見分け方としては、Claudeが応答している間に入力欄が動かなければフルスクリーンです。
Cmd+Fで会話を検索できなくなりました。どうすればいいですか?
フルスクリーンでは会話が代替スクリーンバッファに入るため、ターミナルの検索からは見えません。Ctrl+O でトランスクリプトモードに入り、/ で検索するか、[ を押して会話全体をターミナルのネイティブスクロールバックへ書き出します。書き出したあとは Cmd+F やtmuxコピーモードで検索できます。エディタで開きたい場合は v です。
MacBookのキーボードで会話の最下部に戻れません。
公式は「Ctrl と Fn と → の組み合わせはmacOSではClaude Codeに届かないため、Macのキーボードには既定で最下部へ飛ぶ操作がない」と書いています。画面右下の「Jump to bottom」ボタンをクリックするか、ホイールで最下部まで戻すか、keybindings.json で scroll:bottom を送信可能なキーに割り当ててください。
settings.jsonに書いた tui の設定が効きません。
2つの原因が考えられます。1つは書式で、tui はオブジェクトではなく "default" / "fullscreen" の文字列です。もう1つは優先順位で、CLAUDE_CODE_NO_FLICKER と CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN はそのセッションに限り tui 設定より優先されます。両方が設定されている場合は無効側が勝ちます。
マウスでドラッグするとターミナルのコピーが効かなくなりました。
フルスクリーンではClaude Codeがマウスイベントを受け取るためです。一時的にターミナル側の選択に戻すキーは端末ごとに異なり、公式はTerminal.appが Fn、iTerm2が Option、VS Code・Cursor・Devin Desktopが Shift、その他の多くが Shift と案内しています。常時ネイティブ選択にしたい場合は CLAUDE_CODE_DISABLE_MOUSE=1、ホイールだけ残したい場合は CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1(v2.1.195以降)を使います。
/diff のパネルが開かず、従来のビューアが開きます。
公式のInteractive modeページによれば、パネルとして開くには「フルスクリーンレンダリング」「gitリポジトリであること」「ターミナル幅110桁以上」「v2.1.260以降」の4条件が必要です。条件を満たさない場合は従来のdiffビューアが開くか、理由が表示されます。幅144桁以上なら、Claudeがファイルを編集し始めた時点で自動的に開きます。
「Cannot switch renderers in this session」と出て切り替わりません。
レンダラーの切り替えはプロセスの再起動を伴うため、再起動先へ引き継げない制約があるセッションでは公式仕様として切り替えを断ります。括弧内に理由が出ます。--system-prompt 系や --tools のallowlist、--setting-sources を付けて起動した場合や、hookやSDKがそのセッション限定の拒否ルールを追加した場合が該当します。これらを付けずに起動したセッションで /tui fullscreen を実行すれば、以後のセッションにも設定が効きます。
プッシュ通知が届きません。
公式が挙げている確認順は、/config のトグル(Push when Claude decides / Push when actions required)、No mobile registered の表示、iOSの集中モードと通知要約、Androidのバッテリー最適化です。また公式は「接続中のターミナルで入力している間はプッシュを送らない」と書いているため、PCの前にいる状態ではそもそも届かない設計です。
2026年9月24日時点の最新バージョンはいくつですか?
npmレジストリの @anthropic-ai/claude-code を2026年9月24日に参照した時点で、latest タグは 2.1.281(2026年9月23日公開)、stable タグは 2.1.273 です。バージョンは claude --version で確認できます。
運営元 Uravation よりAIエージェントを構想から本番運用まで進める順番と、体制・KPIの決め方をまとめた資料を無料で公開しています。 AIエージェント導入ロードマップを受け取る(無料)
参考・出典
- Fullscreen rendering — Anthropic公式ドキュメント(参照日: 2026-09-24)
- Settings reference — Anthropic公式ドキュメント。
tui・autoScrollEnabled・theme・statusLine・agentPushNotifEnabled・viewModeの定義(参照日: 2026-09-24) - Environment variables — Anthropic公式ドキュメント。
CLAUDE_CODE_NO_FLICKER・CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN・CLAUDE_CODE_SCROLL_SPEEDほか(参照日: 2026-09-24) - Customize keyboard shortcuts — Anthropic公式ドキュメント。
~/.claude/keybindings.jsonとScrollアクション(参照日: 2026-09-24) - Interactive mode — Anthropic公式ドキュメント。ショートカット一覧とdiffパネル(参照日: 2026-09-24)
- Terminal configuration — Anthropic公式ドキュメント。テーマとフルスクリーンへの切り替え(参照日: 2026-09-24)
- Customize your status line — Anthropic公式ドキュメント(参照日: 2026-09-24)
- Remote control — Anthropic公式ドキュメント。Mobile push notifications(参照日: 2026-09-24)
- Errors — Anthropic公式ドキュメント。Cannot switch renderers in this session(参照日: 2026-09-24)
- anthropics/claude-code CHANGELOG — バージョンごとの変更履歴(参照日: 2026-09-24・最新記載 2.1.281)
まとめ:今日から始める3つのアクション
- 今日やること:引数なしの
/tuiでいまのレンダラーを確認し、従来レンダラーなら/tui fullscreenを1回試す。合わなければ/tui defaultで戻すだけ - 今週中:
settings.jsonのtuiが文字列になっているか、autoScrollEnabledがトップレベルにあるかを確認する。Ctrl+Oから/検索と[の書き出しを一度試し、会話の検索手段を手に馴染ませる - 今月中:
/themeと/statuslineで画面を整え、keybindings.jsonで自分のキーボードで届かないキー(Macならscroll:bottom)を割り当て直す
ご質問・ご相談は お問い合わせフォーム からお気軽にどうぞ。
