Claude Media
Ctrl+Sでプロンプト入力をスタッシュ・復元する

Ctrl+Sでプロンプト入力をスタッシュ・復元する

Ctrl+Sで入力中のプロンプトを退避・復元する仕組みと、Ctrl+Cやrewindとの使い分け、Ctrl+Rのフルスクリーン検索や/statsで役割が変わる注意点を扱います。

Ctrl+Sは、入力欄に書きかけのプロンプトがあるときに押すと、その内容をまるごと退避して入力欄を空にするキーです。空の入力欄でもう一度押すと、退避していた文章がカーソル位置や貼り付け内容ごとそのまま戻ります。長い指示を打っている途中で別の用事を先に済ませたいときに、下書きを崩さず手を離せる操作です。ただし同じCtrl+Sが、画面によってまったく別の動作になる場面があります。

Ctrl+Sでプロンプト入力をスタッシュ・復元する仕組み

Ctrl+Sの動作は「入力欄に文字があるかどうか」で切り替わります。文字が入っていれば退避してクリアし、空ならもう一度押して復元します。復元されるのは文章だけではありません。カーソル位置、貼り付けた内容、入力モードまで元に戻ります。

入力モードまで戻る点は、!で始めるシェルコマンドの下書きで効きます。!を打ってシェルモードに入り、長いコマンドを書いている途中で退避した場合、復元後もシェルモードのままです。v2.1.280(2026年9月22日)より前は、!のコマンドが通常のプロンプトとして戻ってしまう不具合がありました。同じ修正で、退避した直後に/を押すとファイルパスが一覧に出る問題も直っています。

手順

長い下書きを脇に置いて戻るまで

  1. 1

    下書きを書く

    入力欄に長い指示を打ちます。画像や長文の貼り付けが混ざっていても構いません。

  2. 2

    Ctrl+Sで退避する

    入力欄が空になります。急ぎの短い質問や/contextのようなコマンドを、ここで先に済ませます。

  3. 3

    空の入力欄でもう一度Ctrl+Sを押す

    退避しておいた文章、カーソル位置、貼り付け内容、入力モードが戻ります。

ほとんどのCtrl系ショートカットはVimモードを素通りしてキーバインドシステムに届くので、Vimモードの入力でも同じように使えます。

どんな場面でスタッシュが効くか

書き直すと時間がかかる下書きほど効きます。たとえばスクリーンショットを貼りながら、レビューの指摘を箇条書きで積み上げている最中に、急ぎの別件が入った場面です。Ctrl+Cで消した下書きも、v2.1.288以降は空の入力欄でUpを押せば戻ります(v2.1.292からは、スラッシュコマンドの実行やメッセージの送信を挟んでも戻せます)。Ctrl+Sのほうは、もう一度押すだけで文章に加えてカーソル位置と入力モードまで戻ります。

エラーログを貼り付けて文章を整えている途中に/statusや/contextを先に見たくなる場面も同じです。貼り付けたログを手放さずに、別のコマンドを挟めます。

上矢印でも過去のプロンプトは呼び出せますが、対象は送信済みの履歴です。まだ送っていない下書きを脇に置く操作は、入力欄を空にして後で戻せるCtrl+Sが担います。

入力を消す・戻す操作の使い分け

入力を消す・戻す操作はCtrl+S以外にもあり、入力欄が空になるという見た目の結果は似ています。違いは、消した内容がどこに残るかと、戻す手段です。

操作起きること向いている場面
Ctrl+S起きること入力を退避してクリア。空の入力欄でもう一度押すと復元向いている場面送信前の長い下書きを一時的に脇へ置きたいとき
Ctrl+C(何も実行中でないとき)起きること1回目の押下で入力欄をクリア。2回目で終了向いている場面書きかけを捨てて打ち直したいとき
空の入力欄でUp(Ctrl+Cで消したあと)起きることCtrl+Cで消した下書きを復元。貼り付けた文章や画像も戻る。v2.1.288以降。v2.1.292以降はコマンドや送信を挟んでも戻る向いている場面消したあとで「やっぱり要る」と気づいたとき。詳細はCtrl+Cで消した下書きの復元
Escを2回(入力ありのとき)起きること入力をクリアし、下書きを履歴に保存。Upで呼び戻せる向いている場面クリアしつつ、同じ文面に戻る保険を残したいとき
Ctrl+_(またはCtrl+Shift+-)起きること直前の入力編集を取り消し、前の入力テキストとカーソル位置に戻す向いている場面消しすぎた・打ち間違えた直後に戻したいとき

Ctrl+SとEsc2回は、どちらもクリアしたあとに戻せる点が似ています。戻し方が違い、Esc2回は下書きが入力履歴に入るので、Upで他の履歴と並べて探します。Ctrl+SはCtrl+Sをもう一度押すだけで戻ります。Ctrl+Cで消した場合も、v2.1.288以降は空の入力欄でUpを押すと戻せます(Ctrl+Cで消した入力の復元)。

押す前に確認したいのは、入力欄が空かどうかです。空の入力欄でEscを2回押すとクリアではなく、rewindメニューが開きます。

下書きの一部を戻す・履歴から戻す

退避が下書き全体を対象にするのに対し、行や語の単位で消した分には別の戻し方があります。Ctrl+K(行末まで)、Ctrl+U(行頭まで)、Ctrl+W(直前の空白まで)で消したテキストは保存されていて、Ctrl+Yで貼り付け直せます。Ctrl+Yの直後にAlt+Yを押すと、さらに前に消したテキストへ順に切り替わります。macOSでは、Alt+YにOptionをMetaとして扱う設定が要ります。

Esc2回でクリアした下書きをUpで探すときは、履歴の癖を知っておくと迷いません。

  • 履歴は作業ディレクトリごとに保存され、同じプロジェクトの過去セッションのプロンプトまでUpで届きます
  • /clearのあとは、新しいセッションのプロンプトが先に並び、以前のセッションの分がその後ろに続きます
  • 同じプロンプトを2回続けて送っても履歴は1件で、Upは直前とは別のプロンプトへ進みます
  • 入力が複数行にわたるときは、Upはまずカーソルを動かし、先頭行に着いてからの次の押下で履歴に移ります

古い下書きを探すなら、Ctrl+Rの検索が速い場面もあります。クラシック表示のインライン検索では、Ctrl+Cを押すと検索をやめて検索前の入力に戻ります。

Claudeの作業中に打つ文章は、スタッシュでなくキューに積まれる

Claudeが作業している間にEnterを押すと、メッセージは割り込まずにキューへ積まれます。積まれたメッセージは、Claudeが応答を始めるまで会話内でグレーで表示されます。「まだ送信されていない下書き」を脇に置くCtrl+Sとは、別の仕組みです。

キューに積んだものがいつ届くかは、種類で変わります。

  • メッセージ: ツール呼び出しの最中に積むと、その呼び出しが終わりしだい同じターン内でClaudeに渡ります。ターンが終わってもキューに残っていれば、キー操作なしで入力順に送られます
  • コマンドと!のシェルコマンド: ターンが終わるまで保留され、積んだ順に1件ずつ実行されます

待たずに送りたいときは、Ctrl+Enterを使います。v2.1.275以降のキーで、積んだメッセージがすぐ送られ、入力中の下書きはその後ろに回ります。Ctrl+Enterが通常のEnterや改行として届く端末では、Ctrl+X Ctrl+Sが代わりのキーです。

ここで紛らわしいのが、Ctrl+X Ctrl+Sの後半がCtrl+Sであることです。これは退避ではなくchat:sendNowの割り当てで、押すと積んだメッセージが送られ、下書きも一緒に送られます。退避するつもりでCtrl+Xを押したあとにCtrl+Sを続けると、入力欄の文章がClaudeへ飛ぶ場合があります。

積んだメッセージを取り消したいときは、入力欄の先頭行でUpを押します。キューから外れたメッセージとコマンドが、入力欄に1件1行で、入力済みの文章より前に入ります。直してEnterを押せば1件にまとめて積み直せ、入力欄を空にすれば捨てられます。!のシェルコマンドが戻るのは、入力欄が空でほかに何も積んでいないときだけで、戻すと入力欄はシェルモードに切り替わります。

Ctrl+Enterが何を止めるかは、Claudeの作業内容で変わります。シェルコマンドやサブエージェントのようにバックグラウンドへ回せる作業なら、そちらへ移って動き続け、メッセージは同じターンで読まれます。応答を書いているだけの場合や、バックグラウンドへ回せない作業の場合は、ターンを中断してからメッセージが送られます。v2.1.281より前は、どちらの場合も中断でした。

Escは、下書きを送らずにターンだけを中断するキーです。積んだメッセージは保持され、すぐ送られます。下書きを送りたくない場面で割り込みたいなら、Ctrl+EnterよりEscが合います。

Ctrl+Sは画面によって役割が変わる

メインの入力欄では、ここまで説明した退避・復元です。それ以外の画面では、同じキーが別の仕事を持ちます。

画面ごと

Ctrl+Sの役割が変わる3つの画面

  • Ctrl+R検索ダイアログ(フルスクリーン表示)

    検索範囲を「このセッション → このプロジェクト → 全プロジェクト」の順に切り替えます。退避は起きません。詳しくはCtrl+R履歴検索とフルスクリーン表示の記事で扱っています。

  • /stats・/usage画面

    表示中の統計のスクリーンショットをクリップボードにコピーします。/statsは/usageの別名です。

  • claude agentsのエージェントビュー

    セッションの並びを、状態別とディレクトリ別の間で切り替えます。v2.1.257以降の動作です。

エージェントビューではAgentsコンテキストの割り当てが優先され、Chatコンテキストのchat:stashは呼ばれません。この切り替えはagents:switchViewというアクションで、同じビューのCtrl+T(agents:togglePin)は選択中のセッションのピン留めです。どちらもkeybindings.jsonのAgentsコンテキストで割り当てを変えられます。

/statsを開いたままCtrl+Sを押しても、プロンプトは戻りません。画像コピーには修正の履歴があります。v2.1.84(2026年3月26日)で全ビルドで動くようになり、処理も16倍速くなりました。v2.1.132(2026年5月6日)では、Linux/X11でコピー中に固まる不具合が直っています。

Ctrl+Sを別の用途に空ける

chat:stashの既定キーはCtrl+Sです。ほかのキー操作に使いたい、あるいは意図せず押して戸惑うという場合は、~/.claude/keybindings.jsonでChatコンテキストのctrl+sをnullにすると無効にできます。変更は再起動なしで反映されます。

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

別のキーで退避したいときは、同じChatブロックに、新しいキーとchat:stashの組を足します。キー名はctrl・alt・shiftを+でつないで書きます。Ctrl+CとCtrl+Dは予約済みで、割り当て直せません。

設定ファイルの綴りを間違えたときの警告は、デバッグログに書かれます。未知のアクション名はそのバインディングが読み飛ばされ、そのキーの既定の割り当てが残ります。原因を探すときはclaude --debugで起動します。/keybindingsコマンドで設定ファイルを開け、全アクションの一覧はショートカット一覧にあります。

退避が消える不具合の履歴

退避した内容が失われる不具合は、これまでに4種類修正されています。

あゆみ

スタッシュ周りの主な修正

  1. v2.1.19(2026年1月23日)貼り付けた内容が復元で失われる

    貼り付けたテキストが、退避・復元のあとに消える不具合が直りました。

  2. v2.1.69(2026年3月5日)作業中の送信で退避が消える

    Claudeが作業している間にメッセージを送ると、退避内容がクリアされる不具合が直りました。

  3. v2.1.257(2026年9月1日)バックグラウンドセッションで消える

    バックグラウンドのセッションを開いて退避したあと、アイドルや停止を経て開き直すと失われる不具合が直りました。

  4. v2.1.280(2026年9月22日)シェルモードが戻らない

    !のシェルコマンドが、復元時に通常のプロンプトとして戻る不具合が直りました。

手元のバージョンはclaude --versionで確かめられます。出力は次の形です。

claude --version
2.1.287 (Claude Code)

まとめ

Ctrl+Sを押す前に確かめたいのは、いま開いている画面と、キューに積むのか退避するのかの2点です。画面が違えば同じキーが別の仕事をし、Ctrl+X Ctrl+Sは退避のつもりで押すと下書きごとClaudeへ送られる場合があります。

この記事を共有:XはてブLinkedIn