Claude Media
Claude CodeをCursorの統合ターミナルで使うと出る不具合 — Shift+Cmd+Fと「In」タグ

Claude CodeをCursorの統合ターミナルで使うと出る不具合 — Shift+Cmd+Fと「In」タグ

CursorのターミナルでClaude Codeを動かすと、Shift+Cmd+Fで「f」が入力される症状と、タブを閉じても「Inファイル名」のタグが消えない症状が報告されています。切り分けと逃げ道を示します。

Cursorの統合ターミナルでclaudeを動かすと、macOSでは2つの症状がGitHubに報告されています。Shift+Cmd+Fを押すとグローバル検索が開かず「f」が入力される症状と、タブを閉じてもプロンプトの「Inファイル名」タグが消えない症状です。どちらも原因の説明や修正は出ておらず、報告にコメントも付いていません。この記事では、症状ごとの切り分け方と、docsに書かれている範囲で試せる逃げ道をまとめます。

2つの報告の要点

項目Shift+Cmd+Fが「f」になる「Inファイル名」タグが残る
issueShift+Cmd+Fが「f」になる#96177「Inファイル名」タグが残る#94217
報告時のバージョンShift+Cmd+Fが「f」になるClaude Code 2.1.280 / Cursor 3.21.18「Inファイル名」タグが残るClaude Code 2.1.270
OSShift+Cmd+Fが「f」になるmacOS(platform:macosラベル)「Inファイル名」タグが残るmacOS(platform:macosラベル)
状態Shift+Cmd+Fが「f」になるopen「Inファイル名」タグが残るopen
ラベルShift+Cmd+Fが「f」になるbug / area:tui「Inファイル名」タグが残るbug / area:ide

ラベルが違う点は手がかりになります。前者はTUI(ターミナル上の画面)、後者はIDE連携の領域として分類されています。別々の原因で起きている可能性が高く、片方の回避策がもう片方に効くとは限りません。

症状1:Shift+Cmd+Fで「f」が入力される

報告(#96177)の内容は次のとおりです。Cursorでターミナルを開いてclaudeを起動し、Shift+Cmd+Fを押します。本来のCursorではグローバル検索パネルが開くはずですが、Claude Codeの入力欄に「f」が出力されます。

同じ報告者は、次の環境では起きていないと書いています。

  • 通常のターミナル
  • VS Codeのターミナルで動かすClaude Code
  • Antigravityのターミナルで動かすClaude Code

Cursorに限った症状だという点が、この報告の核心です。

Claude Code側のキーバインドでは直せない

「Claude Codeのkeybindings.jsonでCmdを使うキーを割り当て直せば避けられるのでは」と考えたくなります。keybindingsのdocsによると、cmd(super)の修飾キーが検出できるのは、Kitty keyboard protocolやxtermのmodifyOtherKeysのようにSuper修飾を報告できるターミナルに限られます。ほとんどのターミナルはこの修飾を送らないため、ctrlやmetaを使うバインドが推奨されています。

つまり、Cmd+Shift+Fがエディタに渡るか端末に流れるかは、Claude Codeの手前、Cursorとターミナルの境界で決まる話です。Claude Codeの設定ファイルで調整できる範囲の外にあります。

Claude Code側のバインドを自分で足すなら、docsの勧めに沿ってctrlかmeta(macOSではOption)を使います。keybindings.jsonの形は次のとおりです。ctrl+eとctrl+sはdocsの例で、自分の割り当てに置き換えて使います。

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+s": null
      }
    }
  ]
}

nullを指定するとその既定バインドを外せます。Cmdを使わない割り当てなら、Super修飾を送れないCursorのターミナルでも同じように動きます。ただし、これでShift+Cmd+Fの症状が直るわけではありません。Claude Codeの内側で使うキーの逃げ道を作るだけです。

手元で確かめる順番

次の流れで、症状がどこで起きているかを絞れます。

切り分け

Shift+Cmd+Fの症状を切り分ける

  1. Qclaudeを起動する前のシェルでも、Shift+Cmd+Fで「f」が入力されますか?
    答えがいいえのとき

    Claude Codeより前の問題です。Cursor側のショートカット設定かターミナル設定を疑います。

    答えがはい
  2. Q同じマシンのVS Codeのターミナルでも、同じ症状が出ますか?
    答えがいいえのとき

    報告と同じくCursor固有の症状です。CursorとClaude Codeのバージョンを控えて、#96177に情報を足せます。

    答えがはい

Cursor以外でも出るなら別の原因です

使っているターミナルやキーボード設定を含めて、新しい報告として起票する価値があります。

確認用にClaude Codeのバージョンを控えるコマンドは次のとおりです。

claude --version

報告の環境はClaude Code 2.1.280です。それより新しいバージョンで再現するかどうかが、最も価値のある情報になります。

症状2:タブを閉じても「Inファイル名」タグが残る

報告(#94217)では、Cursorのターミナル上のClaude Code(2.1.270、macOS)で、ファイルを開くとプロンプトに> ◫ In <ファイル名>と表示されます。そのファイルのタブを閉じてもタグは残り、バックスペースでも消えず、/clearを実行しても消えないと書かれています。

このタグが何なのか

VS Code向けのdocsには、Claude Codeがエディタで開いているファイルを自動で認識し、プロンプトボックスにその名前を表示するとあります。さらに、IDEに接続している間、CLIは現在の選択範囲とアクティブファイルのパスを、送信するプロンプトごとにコンテキストへ含めます。

「Inファイル名」のタグは、この開いているファイルの表示に当たるものと読めます。Cursorのターミナルは、VS Codeの統合ターミナルと同系統の仕組みでIDEに接続しているとみられますが、Cursorでの扱いまでdocsが明記しているわけではありません。

docsにある逃げ道(Cursorでの効果は未報告)

どちらも、症状の原因を直す方法ではありません。コンテキストの入り口を止めるための設定です。

手段内容出典のdocsが書く条件
Attach Open File設定を切る内容開いているファイルを自動で含めなくする出典のdocsが書く条件Claude Code v2.1.271以降。統合ターミナルでclaudeを動かす場合にも適用
CLAUDE_CODE_AUTO_CONNECT_IDE=false内容IDEの統合ターミナルでの自動接続を止める出典のdocsが書く条件環境変数がautoConnectIde設定より優先される

Attach Open Fileはdocs上claudeCode.attachOpenFileという設定名で、バージョン条件がv2.1.271以降です。#94217の報告はv2.1.270なので、この設定がまだ使えないバージョンでの報告だったことになります。v2.1.271以降で同じ症状が出るかは、報告の中では語られていません。

自動接続を止める場合は、起動時に環境変数を付けます。

CLAUDE_CODE_AUTO_CONNECT_IDE=false claude

IDE接続を切ると、diffをエディタで開く機能や選択範囲の共有も止まります。タグの残留に困っていて、それらを使っていないときの選択肢です。

設定ファイルのautoConnectIdeでは止まらない

環境変数の代わりにautoConnectIdeを設定ファイルに書けば済みそうに見えますが、settingsのリファレンスによると、このキーが決めるのは外部ターミナルからの自動接続です。falseにしても、VS CodeやJetBrainsのターミナルの中、または--ideを付けた起動では接続されます。キーの保存先もsettings.jsonではなく~/.claude.jsonで、settings.jsonに書いても無視されます。

{
  "autoConnectIde": false
}

統合ターミナルで接続を止めたいときの手段は、起動ごとのCLAUDE_CODE_AUTO_CONNECT_IDE=falseです。毎回付けたくない場合は、シェルのエイリアスにする方法があります。なおdocsに書かれているのはVS CodeとJetBrainsで、Cursorでこの設定が同じように働くかは明記がありません。

接続の状態を見て、手動でつなぎ直す

外部ターミナルで動かしているclaudeをVS Code系のエディタにつなぐには、Claude Code内で/ideを実行します。タグの残留を調べるときは、接続している間だけ「開いているファイル」のパスが各プロンプトに載る、という前提で切り分けられます。

タグが消えない症状の切り分け順

切り分け

「In ファイル名」タグが残るときの順番

  1. Q開いているファイルのタブを閉じても、プロンプトのタグは残りますか?
    答えがいいえのとき

    タブを閉じて消えるなら、報告の症状は再現していません。

    答えがはい
  2. Q`/clear`を実行してもタグは残りますか?
    答えがいいえのとき

    報告(#94217)では/clearでも消えなかったとあります。消えるなら報告と違う挙動なので、その差を書き添えると手がかりになります。

    答えがはい
  3. Q`CLAUDE_CODE_AUTO_CONNECT_IDE=false claude`で起動すると、タグは出なくなりますか?
    答えがいいえのとき

    出なくなるなら、原因はIDE接続の側です。出続けるなら、IDE連携とは別の層を疑います。

    答えがはい

接続を切ると消えるなら、IDE連携側の症状です

その結果とclaude --version、Cursorのバージョンを#94217に足せます。

避けたい思い込み

2つの症状を混同すると、時間を失いやすくなります。

  • ショートカットの横取りは、Claude Codeの設定では直せない層の問題
  • タグの残留は、IDE連携が持つ「開いているファイル」の情報の扱いに関係する症状
  • /terminal-setupは、CursorでShift+Enterのバインドとターミナルの描画設定を書き込む。Shift+Cmd+Fには触れない

最後の点は、/terminal-setupを実行済みでも症状1が出る理由の整理になります。docsによると、CursorではShift+Enterのキーバインドを書き込み、terminal.integrated.gpuAccelerationを"off"にします。ショートカットの横取りとは別の設定です。

報告に添えると役立つ情報

どちらのissueも、報告は短く、コメントも付いていません。同じ症状に当たったら、次の情報があると再現の手がかりになります。

  • claude --versionの出力とCursorのバージョン
  • macOSのバージョンとキーボード配列
  • ファイルを開いた直後、タブを閉じた直後、/clear後のそれぞれのプロンプトの様子
  • VS Codeのターミナルで同じ操作をしたときの違い
  • CLAUDE_CODE_AUTO_CONNECT_IDE=falseで起動したときの変化

CursorとClaude Codeの併用そのものを知りたい場合は、CursorとClaude Codeの併用の入れ方にまとめています。カーソル表示の環境変数を扱ったCLAUDE_CODE_NATIVE_CURSORの解説は、ターミナルの描画に関する設定の話で、この記事のキー入力やIDE接続の症状とは別の層です。ターミナル側の挙動が原因になる似た例は、Warpターミナルで使うと出る不具合でも扱っています。

まとめ

Cursorの統合ターミナルで起きる2つの症状は、どちらもopenのままで、修正されたバージョンも示されていません。ショートカットの横取りはClaude Codeの手前の層の話なので、Cursorのキー設定とターミナル環境を先に疑う価値があります。タグの残留は、IDE連携の入り口(Attach Open FileとIDE自動接続)を止めて様子を見るのが、docsから導ける現実的な一手です。どちらも、新しいバージョンでの再現結果を#96177と#94217に足すことが、最も情報の価値が高い行動になります。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. github.com/anthropics/claude-code/issues/96177
  2. github.com/anthropics/claude-code/issues/94217
  3. code.claude.com/docs/en/vs-code
  4. code.claude.com/docs/en/terminal-config
  5. code.claude.com/docs/en/keybindings
  6. code.claude.com/docs/en/env-vars
この記事を共有:XはてブLinkedIn