Claude Codeで会話の文字を選択しただけでコピーさせる

ブログ
Claude Codeで会話の文字を選択しただけでコピーさせる

Claude Codeを使っていて、会話の文字をマウスで選択しただけでクリップボードに入れるようにするととても便利です。
Cmd+C を押さなくてもクリップボードに入ります。

Claude Codeの fullscreenモード(fullscreen rendering) を使います。

1. 設定方法

fullscreenモードに切り替える

Claude Codeの会話の中で、次のコマンドを実行します。

/tui fullscreen

設定(tui)が保存され、Claude Codeが 会話を保ったまま fullscreenモードで再起動します。セッションの途中で切り替えても文脈は失われません。

現在どちらのモードで動いているかは、引数なしで確認できます。

/tui

起動時に環境変数で指定する方法もあります。

CLAUDE_CODE_NO_FLICKER=1 claude
環境によっては、何も設定しなくても最初からfullscreenモードで起動します。たとえばAmazon BedrockやGoogle CloudのAgent Platform経由で使っている場合、そのマシンで最初に起動したClaude Codeがv2.1.239以降であればfullscreenで始まります。私の環境もこのケースでした。

Copy on select をオンにする

fullscreenモードでは、選択した文字はマウスを離した時点で自動的にクリップボードへコピーされます。この挙動は /config の Copy on select で切り替えられます。

/config

一覧の中の Copy on select がオンになっていれば、選択するだけでコピーされます。

選択方法は次のとおりです。

  • ドラッグ:範囲を選択
  • ダブルクリック:単語を選択(ファイルパスは1つのまとまりとして、URLはスキームを含めて全体が選択されます)
  • トリプルクリック:行を選択

コピーするたびに、どの経路でコピーしたかを示すトーストが表示されます。

2. fullscreenモードとは?

fullscreenモードは、Claude Code CLIのもう1つの描画方式です。従来の描画方式(default/クラシック)と比べて、次の特徴があります。

  • ちらつきがない
  • 長い会話でもメモリ使用量が一定
  • マウス操作に対応

「フルスクリーン」という名前ですが、ウィンドウを最大化するという意味ではありません。vim や htop と同じように、ターミナルの 代替画面バッファ(alternate screen buffer) に描画する方式のことで、ウィンドウサイズは関係ありません。

画面に見えているメッセージだけをレンダリングするため、更新のたびにターミナルへ送るデータ量が少なくなります。VS Codeの統合ターミナル、tmux、iTerm2のように描画のスループットがボトルネックになりやすい環境ほど、効果がはっきり分かります。

見分け方は簡単で、Claudeが作業している間に 入力欄が画面下に固定されたまま動かなければ fullscreenモードです。

defaultモードとの違い

操作default(クラシック)fullscreen
テキストのコピーターミナル標準のドラッグ選択アプリ内で選択、マウスを離すと自動コピー
会話内の検索Cmd+f / tmuxの検索Ctrl+o → / で検索
URLを開くCmd+クリックmacOSは Cmd+クリック、それ以外は Ctrl+クリック
スクロールターミナルのスクロールバックアプリ内でスクロール

fullscreenモードでは会話がターミナル本来のスクロールバックではなく代替画面バッファにあるため、検索やコピーの操作が少し変わります。

3. スクロール外の文字列を検索させる方法

画面外へスクロールした過去の会話を検索するには、トランスクリプトモード を使います。

  1. Ctrl+o でトランスクリプトモードに入る
  2. / を押して検索バーを開く
  3. 検索語を入力して Enter で確定(一致箇所がハイライトされます)
  4. n で次の一致、N(Shift+n)で前の一致へ移動

n / N は検索バーを閉じたあとも使えます。検索中に Esc を押すと検索を取り消して元のスクロール位置に戻り、トランスクリプトモード自体は Ctrl+o、Esc、q のいずれかで抜けられます。

トランスクリプトモードでは less と同じ感覚で移動できます。

キー動作
j / k、↑ / ↓1行スクロール
g / G、Home / End先頭 / 末尾へ
{ / }前 / 次のプロンプトへ
Ctrl+u / Ctrl+d半ページスクロール
Ctrl+b / Ctrl+f、Space / b1ページスクロール

ターミナルの検索機能を使いたい場合

トランスクリプトモードでは、次の2つのキーで会話をターミナル側やエディタに渡せます。

  • [:ツール出力も展開した状態で、会話全体をターミナル本来のスクロールバックに書き出します。Cmd+f やtmuxのコピーモードで普通に検索・選択できるようになります。Esc か q でトランスクリプトモードを抜けるとfullscreenの表示に戻ります。
  • v:会話を一時ファイルに書き出し、$VISUAL または $EDITOR で開きます。
補足:公式ドキュメントでは「fullscreenモードではターミナルの Cmd+f で会話を検索できない」と説明されています。ただ、手元のMacで試したところ Cmd+f でも検索できました。画面に表示されている範囲だけが対象なのかなど、詳しい挙動はまだ検証できていません。

4. Copy on select をオフにしたときのコピー方法

自動コピーが邪魔な場合は、/config で Copy on select をオフにします。その場合は選択したあと次のキーでコピーします。

  • Ctrl+Shift+c
  • Cmd+c(kitty、WezTerm、Ghostty、iTerm2など、kitty keyboard protocolに対応したターミナルの場合)
  • 選択中なら Ctrl+c もキャンセルではなくコピーになります

選択中に Shift を押しながら矢印キーを押すと、キーボードで選択範囲を広げられます。

5. ターミナル標準の選択を使いたいとき

fullscreenモードではClaude Codeがマウスイベントを受け取るため、ターミナル標準のドラッグ選択は使えなくなります。一時的にターミナル側で選択したいときは、修飾キーを押しながらドラッグします。

ターミナル修飾キー
Terminal.appFn
iTerm2Option
VS Code / CursorShift
その他の多くのターミナルShift

常にターミナル標準の選択を使いたい場合は、マウスのキャプチャ自体を無効にできます。

CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

ちらつき防止とメモリ一定の効果はそのまま残ります。ただし、クリックでのカーソル移動、クリックでの展開、URLクリック、ホイールスクロールは使えなくなります(キーボードでのスクロールは使えます)。

ホイールスクロールだけ残してクリック操作を無効にしたい場合は、CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 を使います。

6. fullscreenモードの便利なマウス操作

コピー以外にも、マウスでできることが増えています。

  • 入力欄をクリックして、カーソルを好きな位置に移動
  • / コマンドや @ ファイルの候補をクリックして選択
  • 権限確認や /model、/config などのメニューをクリックで選択
  • 折りたたまれたツール結果をクリックして全文を展開
  • Cmd+クリック(macOS)でURLをブラウザで開く、ファイルパスを既定のアプリで開く
  • ホイールで会話をスクロール

上にスクロールしている間は自動追従が止まり、新しい出力があると画面下に「Jump to bottom」ボタンが表示されます。クリックするか Ctrl+End で最新位置に戻れます。

7. tmux・SSHで使うときの注意

tmux

ホイールスクロールを使うには、tmuxのマウスモードを有効にする必要があります。

# ~/.tmux.conf
set -g mouse on

また、iTerm2の tmux統合モード(`tmux -CC`)とは互換性がありません。ホイールが効かなかったり、ダブルクリックでターミナルの状態が崩れたりします。iTerm2の中で通常のtmuxを使う分には問題ありません。

SSH

コピーは環境に合わせて次の経路で行われます。

  • macOS:pbcopy
  • Linux:wl-copy、xclip、xsel
  • Windows / WSL:PowerShellの Set-Clipboard
  • tmux内:上記に加えてtmuxのペーストバッファにも書き込む
  • SSH越し:OSC 52エスケープシーケンス

iTerm2はOSC 52を初期状態でブロックしているため、Settings → General → Selection の「Applications in terminal may access clipboard」をオンにする必要があります。Claude Codeの /terminal-setup を実行しても有効になります。

8. defaultに戻す方法とまとめ

元の描画方式に戻すには、次のコマンドを実行します。

/tui default

保存された設定に関係なく、常にクラシックで起動したい場合は CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 を設定します。

どちらを使うべきか

基本は fullscreenモード がおすすめです。ちらつきがなく、長い会話でも重くならず、選択するだけでコピーできるのは快適です。検索も Ctrl+o → / → n / N を覚えれば困りません。

一方、次のようなケースでは default の方が向いています。

  • tmuxのコピーモードやターミナルの検索を頻繁に使う
  • iTerm2の tmux -CC を使っている
  • SSH越しなどで、マウスのキャプチャが邪魔になることが多い

なお、fullscreenモードは現時点ではリサーチプレビュー機能で、今後挙動が変わる可能性があります。/tui で会話を保ったまま気軽に切り替えられるので、まずは試してみてください。

参考

一覧へ戻る