Ctrl+O(コントロール・オー)

キーバインド
Ctrl+O
コントロール・オー
Claude Code の transcript viewer(書き起こしビューア)を開いたり閉じたりするキーバインド。Ctrl と O を同時押し。Toggle なのでもう一度押すと閉じる。直近のターンで Claude が読んだファイル・走らせたコマンド・呼び出した外部サービス(MCP コール)の中身を時系列で展開して見せてくれる。

Claude が裏でどのファイルをどんな順で読んだか・MCP コールが何をしたかを後追いで確認したい人

Claude から「実装しました」「Slack に報告済み」みたいなサマリだけ返ってきて、実際にどのファイルを編集したか、外部サービスに何を送ったかの中身を確認したい場面で押す。特に MCP コールがデフォルトで「Called slack 3 times」のように1行に畳まれているのを展開したい時に、Ctrl と O を同時押しすればビューアが開いて全部見える。

Claude Code に「魚図鑑の検索機能を実装しました」と返されたあと、「で、実際にどのファイルを編集して、Slack 連携は何回呼ばれて、中身は何を送ったの?」と気になることがあります。会話画面はサマリだけ表示されていて、肝心の中身は Called slack 3 times みたいに1行に畳まれているからです。

この畳まれた中身を、押すだけで全部開いてくれる仕組みが Ctrl+O です。公式の General controls 表では「Toggle transcript viewer」「Shows detailed tool usage and execution」と定義されています。読み方を変えると「Claude が裏で何をやったかの監視カメラ映像を巻き戻して見るボタン」です。

噛み砕くと

会議の議事録を思い浮かべると分かりやすいです。普通の議事録には「Slack に3回投稿」とだけ書いてある。でも上司に「で、何を投稿したの?」と聞かれたら答えられない。Ctrl+O はその「投稿の詳細ログを別紙で出して」というボタンです。

もう少し噛み砕くと、Claude の作業画面には2つのモードがあります。普段見えているサマリ画面と、Ctrl+O で開ける詳細画面。詳細画面では、読んだファイルの名前と中身、走らせたコマンドと出力、外部サービスに送ったメッセージ本文、全部が時系列で並びます。閉じたいときはもう一度 Ctrl+O を押すか、q / Ctrl+C / Esc のどれかで抜けます。

大事な前提:詳細サブ操作の半分は fullscreen rendering が前提

ビューアを開いただけだと最低限の機能しか動きません。前のユーザー発言までジャンプする { }、ヘルプを出す ?、会話全体を別アプリに書き出す v、会話を端末履歴に流し込む [。これらは公式が「Requires fullscreen rendering」と明記しています。

fullscreen rendering は Claude Code の表示モードの1つで、画面全体を Claude Code が乗っ取って描画する設定です。デフォルトではオフのことが多いので、ジャンプ系の操作が効かなければまずここを疑います。設定方法は公式の /en/fullscreen ページに集約されています。

「世界の魚を紹介するサイト」で実際の手順を見る

題材は「世界の魚を紹介するサイトを作りたい」プロジェクト。Claude Code に「魚図鑑に検索機能を入れて、実装が終わったら Slack の #dev に報告して」と頼みます。しばらくすると Claude が返してきます。

魚図鑑の検索機能を実装しました。
- 学名と和名の部分一致検索に対応
- 該当しない場合のフォールバック表示も追加
- Slack #dev に進捗を報告済み

Called slack 3 times

最後の1行が曲者です。3回呼んだ、としか書いてない。何を送ったかは不明。ここで Ctrl+O を押します。

ステップ1: Ctrl+O を押す

キーボードの Ctrl と O を同時押し。画面がパッと切り替わって、上から順に「読んだファイル」「実行したコマンド」「呼び出したサービス」が時系列で並びます。さっきの会話画面とは別レイヤーが乗っかった感覚です。

ステップ2: 編集ファイルの一覧を上から見る

「fish-search.js を作成(120行)」「fish-database.json を読み込み(450行)」「index.html に検索ボックスを追加(差分8行)」みたいに、ファイル名・操作種別・行数が並んでいます。さっきの会話には「実装しました」としか書いてなかった作業の中身が、ここで初めて目視できます。

ここで初心者がやりがちな勘違い

ビューアを開けば全部見える、と思いがちですが、デフォルトでは長すぎる出力は途中で省略されています。全部を強制展開するには Ctrl+E を押します。これはビューアの中でしか効きません。外で押すと別の動作になるので注意。

ステップ3: MCP コールの中身を展開する

下の方に Called slack 3 times の塊があります。これが MCP コールの畳まれた状態。Ctrl+O で詳細画面に来た時点で、すでにこの3回が展開済みになっています。1回目は「#dev チャネルに『検索機能の実装を開始します』」、2回目は「『学名検索が完成、和名検索に着手』」、3回目は「『完成、Push 済み』」みたいに、送信先のチャネル名と送ったメッセージ本文がそのまま読めます。

ステップ4: 会話全体を別アプリで読みたいなら v

fullscreen rendering がオンなら v を押すと、会話の全文が一時保存ファイルに書き出されて、$VISUAL または $EDITOR に設定したアプリで自動的に開きます。ブラウザのページ内検索や、メモアプリに丸ごとコピペする時にこれが便利です。

ステップ5: 端末履歴に流し込みたいなら [

これも fullscreen rendering 前提。[ を押すと、会話全体が「黒い画面のスクロール履歴」に書き出されます。すると Cmd+F でその画面を検索したり、tmux のコピーモードで切り取ったりできます。「Slack」で検索して該当箇所だけ抜く、みたいな雑な使い方ができるようになります。

ステップ6: もう一度 Ctrl+O で閉じる

確認が終わったら Ctrl+O をもう一度。ビューアが閉じて元の会話画面に戻ります。q Ctrl+C Esc のどれでも閉じられます。3つとも transcript:exit という名前の操作に紐づいていて、別のキーに付け替えることもできます。

つまり Ctrl+O は何をしてくれるのか

  • やってくれる: 直近のターンで Claude が読んだファイル・走らせたコマンド・呼び出した外部サービスの中身を、1画面に時系列で展開して見せる。畳まれていた Called slack 3 times も自動展開される
  • やってくれない: Git の変更差分の表示は /diff の役目、状態タスクの確認は Ctrl+T の役目。Ctrl+O は「Claude の実行履歴」専用で、Git や TODO とは別の軸
  • 意味が薄い場面: Claude が単に文章を返しただけのターン。ツール呼び出しがゼロだと展開する詳細が存在しないので、開いても会話メッセージが並ぶだけになる

使いどころ3シナリオ(具体題材で再現)

シナリオ1: 魚図鑑サイトで Slack に何を投げたか確認したい時

世界の魚を紹介するサイトを Claude Code で開発中、進捗を Slack の #dev に自動報告させる設定にしておいた。Claude から「実装完了、Slack に報告済み」と返ってきたけど、本当に依頼通りの文言で投げたか確認したい。Ctrl+O を押せば、3回の投稿の送信先チャネルと本文がそのまま読めます。報告内容が薄ければ「もう少し詳しい進捗を毎回 Slack に投げて」と次のターンで修正依頼できる。

シナリオ2: 料理ブログのリライト後、どの記事を触ったか後追いしたい時

料理ブログを Claude Code で運用していて、「全レシピの調味料表記を統一して」と一気に依頼した。終わった後に「具体的にどの記事ファイルを編集した?」と確認したい。Ctrl+O で「Edited recipes/curry.md」「Edited recipes/karaage.md」みたいなリストが時系列で見えます。差分行数も出るので、編集量が大きすぎる記事は念のため自分の目で確認する、みたいな運用ができる。

シナリオ3: 家計簿アプリのバグ調査で、Claude が読んだファイルを把握したい時

家計簿アプリの「合計金額がずれる」バグを Claude に投げて、原因調査と修正をお願いした。Claude が「calc.js の四捨五入処理に原因がありました」と特定してきた。本当にそのファイルだけ見て判断したのか、ほかにも怪しいファイルを読んだ上で除外したのか、Ctrl+O で確認できる。読んだファイル数が少なすぎたら「summary.js も読んで確認して」と追加で頼める。

初心者が踏みやすい落とし穴

  • fullscreen rendering を有効にしないと半分の便利機能が動かない{ } ? v [ の5つは公式が「Requires fullscreen rendering」と明記している。ジャンプ操作やヘルプ表示が反応しなければ、まず /en/fullscreen の設定を確認する
  • /diff と混同しない/diff は Git で管理しているファイルの変更差分を見るスラッシュコマンド。Ctrl+O は Claude の実行履歴全体を見るキーバインド。「直近で何のファイルを編集したか」を知りたいだけなら /diff、「なぜそのファイルに辿り着いたか」まで遡るなら Ctrl+O
  • Ctrl+T と混同しないCtrl+T は画面下部のステータス領域に表示されるタスクリストの表示切り替え。Ctrl+O とは全く別の軸で、「いま Claude が抱えている残タスクの一覧」を見たいなら Ctrl+T
  • Ctrl+E はビューアの中限定。ビューアを開いた状態で押すと「畳まれている内容を全展開」する切り替え。ビューア外で押すと文字入力モードの行末移動になる。同じキーが場面で2つの意味を持つので、押す前にビューアが開いているかを確認する
  • Toggle なので押しっぱなしで開きっぱなしにならない。もう一度 Ctrl+O を押すと閉じる。何度確認しても会話画面に戻れない、と感じたら q Ctrl+C Esc のどれかで抜ける癖をつけておく
  • MCP コールが Called slack 3 times のままに見える時は、まだサマリ画面のままの可能性。Ctrl+O を押し忘れていないか確認する。ビューアを開けば自動展開されるが、ビューア内でさらに省略された箇所がある場合は Ctrl+E で全展開する
  • 会話全体を検索したい時に v を使うか [ を使うかv は別アプリに書き出すので保存して後で読みたい時向け。[ は端末の履歴に流し込むので、いま開いている Claude Code の画面のまま Cmd+F で検索したい時向け。どちらも fullscreen rendering 前提

書き方

Ctrl+O

やってみるとこうなる

入力

(Claude のターン完了後、キーボードで)Ctrl と O を同時押し

出力例

画面が transcript viewer に切り替わって、上から順に「読んだファイル」「実行したコマンド」「呼び出した外部サービス」が時系列で並ぶ。"Called slack 3 times" のように畳まれていた MCP コールも自動展開され、送信先チャネル名と送信したメッセージ本文が読める。もう一度 Ctrl+O を押すか、q / Ctrl+C / Esc のどれかで閉じる。

このページに出てきた言葉

transcript viewer(書き起こしビューア)
Claude Code の詳細ログ画面。Ctrl+O で開閉する。読んだファイル・走らせたコマンド・呼び出した外部サービスの中身が時系列で並ぶ
MCP コール
Claude が外部サービス(Slack、Google ドライブ等)を呼び出す仕組み。デフォルトでは「Called slack 3 times」のように1行に畳まれて表示される
Toggle(トグル)
押すたびにオンとオフが切り替わる動作。Ctrl+O は1回押すとビューアが開き、もう1回押すと閉じる
fullscreen rendering(フルスクリーン描画)
Claude Code が画面全体を使って描画するモード。ビューア内のジャンプ操作({ / } / ? / v / [)はこれを有効にしないと使えない
$VISUAL / $EDITOR
パソコンが起動時に覚えてる設定値の1つで、「テキストファイルを開けと言われたとき、どのアプリで開くか」を指定する場所。v キーを押した時の出力先になる
transcript:exit
Claude Code 内部の操作名。q / Ctrl+C / Esc がこの操作に紐づいていて、設定ファイルで別のキーに付け替えられる
transcript:toggleShowAll
Claude Code 内部の操作名。Ctrl+E(畳まれている内容を全展開)がこれに紐づいていて、設定ファイルで別のキーに付け替えられる

関連項目

公式ドキュメント

https://code.claude.com/docs/en/interactive-mode

-

← 戻る