Claude Media
Claude Codeの/focusビューで応答だけに集中する

Claude Codeの/focusビューで応答だけに集中する

/focusは最後のプロンプト・ツール呼び出しの1行要約・最終応答だけを表示するCLIコマンドです。効かないときの切り分けと、viewMode・Remote Control・VS Code拡張との関係をv2.1.285の確認つきで扱います。

/focus はCLIの表示を「最後のプロンプト」「ツール呼び出しの1行要約」「最終応答」の3つに絞るコマンドです。ツール実行の詳細ログが画面を埋める状況を避けたいときに使います。ただし、使えない環境があり、設定や別ツールとの優先関係も複数あります。名前のよく似たVS Code拡張の機能は別物です。

/focusを実行すると何が残り、何が畳まれるか

表示に残るのは、直近のプロンプト、diffstat付きのツール呼び出し1行要約、最終応答です。1行要約にはそのターンで起動したサブエージェントの数が含まれ、完了したバックグラウンドタスクの通知も1つの件数にまとまります。

/focus

もう一度実行すると解除できます。選択はセッションをまたいで保持され、次回起動時にも復元されます。

たとえばテスト失敗の調査で、ログの読み込み、grep、ファイル編集、テスト再実行が続いたとします。通常表示ではツール呼び出しごとに、実行したコマンドと出力の行数のような短い要約が1つずつ並びます。verbose 設定を有効にすると、その入出力が全文で流れます。フォーカス表示はこれをまとめ、画面には依頼と結論だけが残ります。畳まれた詳細は消えるわけではなく、Ctrl+O のトランスクリプトビューでツール使用の詳細を確認できます。

v2.1.285の claude --help で、表示の詳しさ(ビューモード)に関わるフラグは --verbose(説明は Override verbose mode setting from config)だけでした。フォーカス表示を起動時に指定するフラグは見当たりません。

起動時の既定は、後の「viewModeで起動時の表示を固定する」で扱う viewMode 設定で決めます。

/focusが効かないとき、どこから疑うか

症状ごとに原因が違います。上から順に当たると切り分けられます。

手順

/focusが思いどおりにならないときの確認順

  1. 1

    フルスクリーンレンダリングになっているか

    /focus はフルスクリーンレンダリング(ターミナルの代替スクリーンバッファを使う描画モード)でのみ動きます。/tui を引数なしで実行すると、いまのレンダラーが表示されます。クラシックレンダラーなら /tui fullscreen で切り替えます。会話の内容を保ったまま再起動します。

  2. 2

    viewMode が設定されていないか

    viewMode を設定していると、/focus で切り替えても次回起動時は設定値が優先されます。ユーザー・プロジェクト・ローカルのどの設定ファイルにも書けるので、複数の場所を確認します。

  3. 3

    --verbose で起動していないか

    --verbose は、そのセッションに限り viewMode よりも優先されます。エイリアスやスクリプト経由で付いていることがあります。

  4. 4

    操作している面はCLIか、VS Code拡張か

    VS Code拡張のFocus viewは保存先が別で、CLIの /focus は反映されません。

古いバージョンで「Unknown command」と出たときは、コマンド自体が無いのではなくレンダラーの問題である可能性を先に疑えます。

クラシックレンダラーで起動する条件

手順1でクラシックレンダラーだったとき、自分で切り替えた覚えがなくても不思議ではありません。起動時のレンダラーは、環境変数・保存済みの tui 設定・使い始めた時期・実行環境から、次の順に当てはまった最初の行で決まります。

  • CLAUDE_CODE_NO_FLICKER=0 または CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を設定していると、クラシックで起動します。CLAUDE_CODE_NO_FLICKER=1 と CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を両方設定した場合も、クラシックです
  • iTerm2の tmux -CC 連携モードや、Windows上のClaude CodeにSSHで接続している場合は、CLAUDE_CODE_NO_FLICKER=1 を付けない限りクラシックです
  • スクリーンリーダーモードのセッションは、常にクラシックです。この状態で /tui fullscreen を実行しても切り替わらず、説明が出るだけで保存済みの設定も変わりません
  • フルスクリーンの起動に1回失敗すると、次のセッションはクラシックで起動し、その次で再試行されます
  • 2回失敗すると、次の更新か /tui fullscreen まではクラシックが続きます
  • tui 設定を保存していない場合は、次の2つで分かれます
    • フィーチャーフラグを取得するセッションで、使い始めたのが2026年5月6日以降ならフルスクリーンです。それより前から使っている場合は、ここまでのどれにも当たらなければクラシックです
    • Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundry、テレメトリーをオフにしたセッションはフラグを取得しません。後述の切り替えダイアログが出なくなっていればクラシック、このマシンでの初回起動がv2.1.239以降ならフルスクリーンです
  • クラシックで起動し tui 設定を保存していないと、起動時にフルスクリーンへの切り替えを勧めるダイアログが出ることがあります。承諾すると /tui fullscreen と同じく再起動し、起動が成功した時点で設定が保存されます。Not nowを選ぶか、ダイアログが3回表示されると、このマシンでは以後出ません
  • agent viewや claude attach で開いたバックグラウンドセッションは例外で、上の条件にかかわらず常にフルスクリーンです

/tui を引数なしで実行すると、失敗が理由でクラシックになっている場合は Current renderer の行にそう出ます。CLAUDE_CODE_NO_FLICKER を設定したまま /tui fullscreen を実行した場合は、/tui が再起動するプロセスからこの変数を消します。そのため、書き込まれた tui 設定が効きます。CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 は保存済みの設定に関係なくクラシックを強制します。こちらは外してから起動し直します。

Ctrl+Oとの関係はどう変わってきたか

フォーカス表示は、切り替えるキーがバージョンをまたいで変わっています。

あゆみ

フォーカス表示の変遷

  1. v2.1.97フォーカス表示を追加

    NO_FLICKER モードに限り、Ctrl+O がフォーカス表示のトグルを兼ねる形で登場。

  2. v2.1.110/focusを新設

    Ctrl+O から切り離され、独立したコマンドに。同じバージョンで /tui コマンドも入った。

  3. v2.1.121レンダラー無効時の案内

    フルスクリーンでないセッションの /focus が、「Unknown command」ではなく有効化の方法を案内するように。

  4. v2.1.221VS Code拡張にFocus view

    拡張機能側の切り替えが入る。

  5. v2.1.281Remote Controlから/focus [on|off]

    Remote Controlのクライアントから操作できる最初のバージョン。

現行のドキュメントで Ctrl+O は、ツール使用の詳細を含むトランスクリプトビューを開くキーとして書かれています。フォーカス表示はこのキーとは切り離され、/focus だけが担当します。

viewModeで起動時の表示を固定する

/focus の選択より強い指定が、設定ファイルの viewMode です。値は "default"(通常)・"verbose"(詳細)・"focus"(フォーカス)のいずれかです。

{
  "viewMode": "focus"
}

未設定なら、verbose 設定と直近の /focus の選択が効きます。viewMode を設定すると、この両方より優先されます。--verbose フラグはさらにその上で、そのセッションに限って効きます。

置き場所は、チームで揃えたいならプロジェクトの設定、自分の好みならユーザー設定です。特定のプロジェクトだけ通常表示に戻したいなら、そのプロジェクトのローカル設定で上書きします。ファイルを開かずに変えたいときは、セッション内で /config に key=value の形で渡す方法もあります。

Remote Controlからは保存せずに切り替えられる

Remote Controlのクライアントからは、/focus [on|off] の形で明示的にオン・オフを指定できます。この操作は接続中のセッションだけに効き、保存済みの選択は書き換えません。スマートフォンなどから一時的に見やすくしても、PC側の既定は変わらない仕様です。

VS Code拡張のFocus viewは保存先も隠し方も別

VS Code拡張のFocus viewでも、Claudeの最新のTo-Doリストと、質問中の対象を示すテキストは表示されたままです。どちらもClaude Code v2.1.225以降が必要です。サブエージェントを走らせると、起動したツール呼び出しのグループの下に最新の動きを示す進行行が出ます。こちらはv2.1.269以降が必要です。

くらべる

CLIの/focusとVS Code拡張のFocus view

集約して1行にする

CLIの/focus

ツール呼び出しを1行要約(diffstat・サブエージェント数)に集約します。前提はフルスクリーンレンダリングで、/focus で切り替え、viewMode で上書きできます。

折りたたんで隠す

VS Code拡張のFocus view

ツール呼び出し・結果・thinkingを展開可能な行に収めます。前提はClaude Code v2.1.221以降です。

切り替えはSettings画面・Ctrl+Option+F(Windows・Linuxは Ctrl+Alt+F)・コマンドパレットの「Claude Code: Toggle Focus view」からできます。

VS Code側の変更は開いている全セッションに適用され、拡張機能の設定として保存されます。CLIと拡張を併用するなら、それぞれ個別に切り替える必要があります。

サブエージェントを多用するときの効き方

/focus の要約行がサブエージェントの起動数を数える点は、並行起動の多い運用で差になります。フォーカス表示では個々のサブエージェントの動きが畳まれ、「何体起動したか」だけが1行に残ります。並列サブエージェントの設計はClaude Code Sub-agents完全ガイドで扱っています。

フルスクリーンレンダリングの仕組みと制約はClaude CodeのTUI(フルスクリーン)とはにあります。/tui と /focus がコマンドとして分かれたv2.1.110の変更はClaude Code v2.1.110で確認できます。

まとめ

起動のたびにフォーカス表示で揃えたいなら viewMode、その場限りで切り替えたいなら /focus かRemote Controlの /focus [on|off] と、目的で手段が分かれます。チームで既定を揃える場合は、各自の /focus ではなくプロジェクト設定の viewMode が手段になります。

この記事を共有:XはてブLinkedIn