naoki.dev

記事検索

タイトル・本文・タグから検索します

ホームに戻る
AI

Claude Code でコピペできない原因はフルスクリーン表示だった — 直し方まとめ

目次

Claude Code(CLI)を使っていて、ターミナルでいつものようにドラッグしてもテキストがコピーできない——という事象に遭遇しました。結論から言うと、原因は フルスクリーン(alt-screen)表示で、これは /tui コマンドで切り替わる表示モードです。

Claude Code の公式ドキュメントにもこう明記されています。

When Claude Code captures mouse events, your terminal's native copy-on-select stops working. The selection you make with click-and-drag exists inside Claude Code, not in your terminal's selection buffer. (Claude Code がマウスイベントを捕捉すると、ターミナルのネイティブな copy-on-select が効かなくなる。ドラッグで作った選択は Claude Code の中に存在し、ターミナルの選択バッファには渡らない)

つまり「壊れている」わけではなく、フルスクリーン表示がマウスを握っているせいです。直し方はいくつかあるので、手軽な順にまとめます。

いちばん手軽:/tui default でクラシック表示に戻す

/tui は表示レンダラーを切り替えるコマンドです。

コマンド 動作
/tui default クラシック(main-screen)表示に戻す(ネイティブ選択が復活
/tui fullscreen フルスクリーン(alt-screen)表示にする
/tui(引数なし) 現在どちらが有効かを表示

コピペを最優先したいなら /tui default が一番早いです。設定は ~/.claude/settings.jsontui キーに保存され、次回以降も維持されます。

公式によると tui の既定は fullscreen(v2.1.89 以降)。なので「デフォルトのままだとコピペできない」に当たりやすい、というのが今回の落とし穴でした。

フルスクリーンのまま選択したい:修飾キー + ドラッグ

フルスクリーン表示の利便性は残したい場合、修飾キーを押しながらドラッグすると、ターミナル側がマウスを処理して Claude Code のキャプチャをバイパスします。ネイティブ選択に書き込まれるので Cmd+C で普通にコピーできます。

修飾キーはターミナルごとに違います。

ターミナル 修飾キー
macOS Terminal.app Fn + ドラッグ
iTerm2 Option + ドラッグ
VS Code 統合ターミナル Shift + ドラッグ(macOS で macOptionClickForcesSelection 有効時は Option
その他ほとんどのターミナル Shift + ドラッグ

Claude Code は画面上のヒントに、その環境で使う正しいキーを表示してくれます。

Claude Code 内蔵の選択・コピーを使う

フルスクリーン表示では、Claude Code 自身がマウス選択とコピーを提供しています。

  • ドラッグで選択 → 離すと自動でクリップボードにコピー(copy-on-select 相当)
  • ダブルクリックで単語選択 / トリプルクリックで行選択
  • キーボードコピー: Ctrl+Shift+C
  • kitty キーボードプロトコル対応(kitty / WezTerm / Ghostty / iTerm2)なら Cmd+C も可(選択中は Ctrl+C がキャンセルではなくコピーになる)
  • 選択の拡張: Shift+↑/↓Shift+Home/End

「自動コピーが要らない」場合は /config の Copy on select をオフにできます。

それでも直らないときの他の原因

/tui default にしても選択・コピーが変なときは、ターミナル側の設定が絡んでいることがあります。

  • マウスレポーティングが無効(ホイールも効かず PgUp/PgDn だけ動く)→ iTerm2 は Settings → Profiles → Terminal → Enable mouse reporting をオン。
  • SSH 越しでクリップボードに書けない(OSC 52 がブロックされている)→ iTerm2 なら /terminal-setup で必要な設定を自動で有効化。
  • tmux 内: 通常の tmux は set -g mouse on で対応。ただし iTerm2 の tmux 統合モード(tmux -CC)はフルスクリーン表示と非互換なので注意。
  • ネイティブ選択を最優先したい: CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude で起動するとマウスキャプチャを完全に切れる(代わりにクリック展開・URLクリック・ホイールスクロールも無効)。ホイールだけ残したいなら CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1(v2.1.195 以降)。

対処の優先順(チェックリスト)

優先 確認 対処
1 フルスクリーン表示か /tui default で戻す
2 フルスクリーンのまま選択したい 修飾キー+ドラッグ(ターミナル別)
3 内蔵コピーで足りるか ドラッグ選択→自動コピー / Ctrl+Shift+C
4 マウスレポーティング iTerm2 は Enable mouse reporting
5 SSH / tmux /terminal-setup / set -g mouse on-CC は不可)
6 ネイティブ選択を優先 CLAUDE_CODE_DISABLE_MOUSE=1 で起動

まとめ

  • Claude Code でコピペできない主因は フルスクリーン(alt-screen)表示がマウスを捕捉し、ネイティブ選択が無効になるため
  • 一番手軽な解決は /tui default(クラシック表示に戻す)。既定は fullscreen なので当たりやすい
  • フルスクリーンのままなら 修飾キー+ドラッグ(Terminal.app=Fn / iTerm2=Option / VS Code=Shift)
  • 内蔵の ドラッグ選択→自動コピー / Ctrl+Shift+C も使える
  • 直らないときは マウスレポーティング・OSC 52(SSH)・tmux を疑う

参考ソース