AIエージェント入門

Claude Code Focus View完全ガイド|Ctrl+Oで3パネル表示に切り替える

Claude Code Focus View完全ガイド|Ctrl+Oで3パネル表示に切り替える

この記事の結論

Claude Code v2.1.97で追加されたFocus View(Ctrl+O)の使い方を完全解説。NO_FLICKERモードの仕組みからトランスクリプトモード・マウスサポートまで、開発者UXが変わる新機能を紹介。

ターミナルがちかちかする。長いセッションになると画面が追えなくなる。Claude Codeを使い込んでいる開発者なら、一度はこの不満を感じたはずだ。

それを解決したのが NO_FLICKERモード と、その中に実装された Focus View(Ctrl+O) だ。単なるUI改善に見えるが、実際に使ってみるとエージェント開発のワークフローが変わる。

NO_FLICKERモードとは何か

Claude Code v2.1.89(2026年4月リリース)以降で使えるようになった実験的なフルスクリーンレンダリングモード。有効化は環境変数一つだ。

# NO_FLICKERモードを有効化(セッション単位)
CLAUDE_CODE_NO_FLICKER=1 claude

# 永続的に有効化(~/.zshrcまたは~/.bashrcに追記)
export CLAUDE_CODE_NO_FLICKER=1

従来のClaude Codeは、Claudeがツールを実行するたびに出力がストリームされ、画面全体が上に流れていく。tmuxやVS Code統合ターミナルでは特に顕著だった。

NO_FLICKERモードは、ターミナルの代替スクリーンバッファ(`vim`や`htop`と同じ仕組み)を使う。現在画面に表示されているメッセージだけをレンダリングするため、会話が長くなってもメモリ使用量が一定に保たれる。入力欄は画面下部に固定される。

3つの状態を持つCtrl+O

NO_FLICKERモードで真価を発揮するのが Ctrl+O だ。このキーは3つの状態を循環する。

状態 Ctrl+O回数 表示内容 用途
通常プロンプト 0回(初期状態) 通常の会話画面 通常の作業
トランスクリプトモード 1回目 会話全体をlessスタイルで閲覧 過去のやり取りを検索・参照
Focus View(フォーカスビュー) 2回目 最後のプロンプト+ツール要約+最終レスポンス 直近の作業結果を確認

3回目のCtrl+Oで通常プロンプトに戻る。

Focus Viewが特に便利な場面

v2.1.97(2026年4月8日リリース)で追加されたFocus Viewは、「直前のプロンプト・ツール呼び出しの1行サマリー(編集差分含む)・最終レスポンス」の3点セットを表示する。長い会話の中で「さっきClaudeが何をしたか」を素早く確認したい時に使う。

特に効果的なのは大規模なコード変更をした後だ。Claudeが10ファイルに変更を加えた後、「結局何を変えたんだっけ」を確認する時、Focus Viewならツール呼び出しが1行のdiff統計として見える。全部のツール出力を読み返す必要がない。

# 動作確認用のコマンド例
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

# 1. NO_FLICKERモードで起動
CLAUDE_CODE_NO_FLICKER=1 claude

# 2. Claudeに複数ファイルへの変更を依頼
# (例: "src/以下の全Pythonファイルにtype hintsを追加してください")

# 3. 作業完了後、Ctrl+Oを2回押してFocus Viewに移行
# → "最後のプロンプト / 編集ファイル数とdiff統計 / 最終レスポンス" が表示される

# 4. Ctrl+Oをもう1回でプロンプト画面に戻る

トランスクリプトモードの検索機能

Ctrl+O 1回目で入るトランスクリプトモードは、過去の会話履歴を検索できるlessスタイルのビューアだ。

# トランスクリプトモードのキーバインド
# /, n, N  → 検索(/キーでクエリ入力、n/Nで次/前の一致箇所へ)
# j/k      → 1行スクロール
# Ctrl+u / Ctrl+d → 半ページスクロール
# g / G    → 先頭・末尾へジャンプ
# [        → 会話全体をターミナルのscrollbackバッファに書き出す
#           (tmux copy modeやCmd+Fで検索可能になる)
# v        → $VISUALまたは$EDITORで会話をファイル表示
# Esc / q  → 通常プロンプトに戻る

重要な点は、NO_FLICKERモードでは会話が代替スクリーンバッファに存在するため、ターミナルのCmd+F検索は効かないことだ。代わりにCtrl+O(トランスクリプトモード)→`/`で検索する。あるいは`[`キーでscrollbackに書き出せば、tmuxのコピーモードやCmd+Fも使える。

マウスサポートという地味な革命

NO_FLICKERモードにはマウスサポートも含まれている。ターミナルでマウスが使える——これは地味に見えて実は大きい。

ツール出力(折りたたまれた状態)をクリックして展開できる。URLやファイルパスをクリックして直接開ける。テキストのダブルクリックで単語選択、トリプルクリックで行選択ができる。選択したテキストはクリップボードに自動コピーされる。

マウス操作が逆に邪魔な場合(SSH接続時などネイティブ選択を優先したい場合)は以下で無効化できる。

# マウスキャプチャを無効化しつつNO_FLICKERは維持
CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

# マウスホイールのスクロール速度を調整(デフォルトは1)
export CLAUDE_CODE_SCROLL_SPEED=3  # vimと同じ感覚

私の評価:「落ち着く」という効果

正直に言うと、NO_FLICKERモードを使い始めた直後は「ビジュアル的な違いだけ」と思っていた。ところが1週間使い続けると、ターミナルがちかちかしないことで集中が維持しやすいことに気づいた。Claude Codeで長い作業をする時のフロー状態が、従来より途切れにくい。

Focus Viewについては、「さっき何をしたか」を確認するためにスクロールバックを読む時間が明らかに減った。特にdiff統計が1行で見えるのが実用的だ。10ファイル変更して「変更量が想定より多い」と気づくのが早くなった。

ただし、完璧ではない。iTerterm2のtmux統合モード(`tmux -CC`)とは非互換だ。SSH越しのマウス操作はターミナルの設定次第で動かないことがある。あくまで「research preview」なので、デフォルトでは無効になっている点も覚えておく必要がある。

設定ガイド:環境別の推奨設定

環境 推奨設定 注意点
ローカルターミナル(iTerm2/Kitty/WezTerm) CLAUDE_CODE_NO_FLICKER=1 マウスサポート最も安定
VS Code統合ターミナル CLAUDE_CODE_NO_FLICKER=1 URLはCmd+clickを使う(xterm.js判定)
tmux(通常) CLAUDE_CODE_NO_FLICKER=1 + set -g mouse on tmux.confでマウスモード有効化が必要
iTerm2 tmux統合(-CC) 非推奨 代替スクリーンバッファと非互換
SSH越し CLAUDE_CODE_DISABLE_MOUSE=1も追加 OSC 52シーケンスのブロックに注意

参考・出典


あわせて読みたい:


この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年4月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事