Claude Codeで複数行の指示を書きたいのに、Enterを押すと途中で送信されてしまって困っている人向け
2行3行の指示をまとめて1回で送りたいのに、Enterを押すと1行目だけで送信されてしまう場面で使う。特にShift+Enterが効かない環境(gnome-terminalやPyCharmなどのJetBrains系、設定前のVS Code)で、改行を入れたいときにEnterの代わりにCtrl+Jを押す。
Claude Code に2行3行の指示をまとめて書きたいのに、改行しようと Enter を押した瞬間にそのまま送信されてしまう。これは故障ではなく、Claude Code が「Enter = 送信」を最初から決めているからです。Ctrl+J は、その状態でも文章の途中に改行を1つ入れるためのキー操作です。Control キーを押しながら J を打つと、送信されずに行が下に1つ増えます。
同じことは Shift+Enter でもできる環境が多いんですが、Shift+Enter は使っている黒い画面の種類によって動いたり動かなかったりします。Ctrl+J はそこが違う。公式ドキュメントいわく、どの環境でも追加設定なしで動く改行手段です。
噛み砕くと
メッセージアプリで例えると分かりやすいです。LINE や Slack で「Enter で送信、Shift+Enter で改行」みたいな設定を見たことがあると思います。Claude Code もまさにそれで、初期状態は Enter を押した瞬間に送信。途中で行を増やしたいときは別のキーを使う必要があります。
その「別のキー」の本命が Ctrl+J です。Shift+Enter は環境次第で効かないことがあるのに対して、Ctrl+J は「とりあえずこれを覚えておけば、どの黒い画面でも改行できる」万能札みたいな位置づけです。なお、\(バックスラッシュ)を入力してから Enter を押す方法も、同じく設定不要でどの環境でも動きます。Ctrl+J の方が確実なのは、日本語キーボードでは \ の場所が分かりにくい場合があるためです。
覚えておくと地味に効きます。
大事な前提:特別な設定は何も要らない
Ctrl+J を使うのに必要なのは、Claude Code を対話モードで立ち上げていることだけです。入力欄が出ている状態なら、その場で Ctrl+J を打てば改行が入ります。
これがこのキーの一番おいしいところで、公式ドキュメントは複数行入力の5つの方法を表にしていて、Ctrl+J は「どのターミナルでも設定なしで動く」と書かれています(\ を打ってから Enter を押す方法も同じく設定不要です)。バージョン制限やプラン制限の記載もありません。設定ファイルをいじる必要もない。
「料理ブログのレシピページ修正」を例に、実際の手順を見る
料理ブログのレシピページを直したいとします。直してほしい点が3つあって、1行ずつ分けて書いた方がClaudeに伝わりやすい。こういうときに Ctrl+J が活きます。
ステップ1: Claude Code を立ち上げる
まずプロジェクトのフォルダに入って Claude Code を起動します。
$ cd cooking-blog
$ claude
入力欄が出てきたら準備完了です。
ステップ2: 1行目を打つ
いきなり全部書かず、まず1行目だけ打ちます。
recipes/curry.html を直して。
ここで Enter を押したくなる気持ちをぐっとこらえます。Enter を押すと、この1行だけで送信されてしまう。
ステップ3: Ctrl+J で改行する
Enter の代わりに Control キーを押しながら J を打ちます。すると送信されず、行が1つ下に増えます。カーソルが2行目に移ったはずです。
ここで初心者がよくやる勘違いがあります。「Ctrl+J を押しても画面が動かない、効いてないのでは」と思って Enter を押し直してしまう。実際は改行はちゃんと入っていて、見た目が地味なだけです。落ち着いて2行目を打てば分かります。
ステップ4: 2行目・3行目を続ける
同じ要領で、Ctrl+J を挟みながら残りを書きます。
recipes/curry.html を直して。
1. 材料の分量を2人前から4人前に変更
2. 調理時間の表記を「約40分」に統一
3. 一番上に完成写真を入れる場所を用意
1から3の前で、それぞれ Ctrl+J を1回ずつ押しています。Enter はまだ1度も押していません。
ステップ5: 最後に Enter で送信する
3行分を書き終えたら、ここで初めて Enter を押します。これで3行まとめて Claude に届きます。3つの指示が箇条書きの形で渡るので、Claude も1個ずつ順番に手をつけてくれます。
ステップ6: もし行を間違えたら
途中で打ち間違えても、矢印キーで上の行に戻って直せます。複数行の入力中は、上下の矢印キーがまずカーソルの移動として効きます。行の編集が終わったら、また一番下まで戻って Enter で送ればいい。
つまり Ctrl+J は何をしてくれるのか
- やってくれる: 送信せずに入力欄の中で改行を1つ入れる。何回でも押せるので、何行でも書ける
- やってくれない: メッセージの送信そのものはしない(送信は Enter の役目)。Claude への特別な命令でもなく、ただの改行操作です
- 意味が薄い場面: 1行の短い指示だけ出すとき。それなら Ctrl+J を挟まず Enter 一発で十分です
使いどころ3シナリオ(具体題材で再現)
シナリオ1: gnome-terminal や PyCharm を使っていて Shift+Enter が効かないとき
公式の対応表では、gnome-terminal と JetBrains 系の開発ツール(PyCharmやAndroid Studio)は Shift+Enter が「使えない(Not available)」とハッキリ書かれていて、その行にはわざわざ「use Ctrl+J or `\` then Enter」と代替手段が明記されています。家計簿アプリを PyCharm の中で開発していて、Claude Code もその中で動かしている、みたいな人はまさにこのケース。Shift+Enter を連打しても改行が入らないなら、迷わず Ctrl+J に切り替えるのが正解です。
シナリオ2: VS Code で設定する前に、とりあえず複数行を送りたいとき
VS Code の場合、Shift+Enter を使うには /terminal-setup を1回だけ実行して割り当てを入れる必要があります。でも「今すぐ3行の指示を送りたい、設定は後でいい」という場面はよくあります。そんなときは設定を飛ばして Ctrl+J を使えば、その場ですぐ複数行が打てます。OSS を git clone してきた直後に「このフォルダ構成を読んで、READMEを直して、テストも足して」と一気に頼みたい、みたいなときに便利です。
シナリオ3: Vimモードで入力していて改行を入れたいとき
Claude Code には Vim 風の編集モードがあります。ただ公式によれば、Vimモードでも INSERT モード中の Enter は通常の Vim と違って送信になってしまう。改行を入れたいなら NORMAL モードで o か O を使うか、INSERT モードのまま Ctrl+J を押すと書かれています。Vim に慣れている人ほど Enter で改行が入る感覚でいるので、ここで詰まりがち。Ctrl+J を覚えておくとモードを切り替えずに改行できます。
初心者が踏みやすい落とし穴
- 長いコードやログを貼りたいだけなら Ctrl+J で1行ずつ改行する必要はない。公式は複数行入力の方法として「Paste mode(直接貼り付け)」も挙げていて、用途は「コードのまとまり、ログ」と明記しています。コピーした塊はそのまま貼り付ければ改行ごと入ります
- Shift+Enter がどこでも動くと思い込まない。公式の表では、設定なしで動くのは Ghostty・Kitty・iTerm2・WezTerm・Warp・Apple Terminal・Windows Terminal の7つだけ。VS Code など5つは
/terminal-setupが必要で、gnome-terminal と JetBrains 系は不可。無条件で動くのは Ctrl+J です - macOS の Option+Enter とは別物。Mac だと Option キーを押しながら Enter でも改行できますが、これは「Option を Meta キーとして使う」設定を先に有効にした後だけ動きます。設定が要らない Ctrl+J とはここが違います
- Ctrl+J を押しても見た目の変化が小さい。改行は入っているのに「効いてない」と勘違いして Enter を押し直し、中途半端な状態で送信してしまう事故が多いです。1回押したら次の文字を打って確かめる癖をつけるといいです
- Enter と改行の役割を入れ替えたいなら別の方法がある。「Enter で改行、Shift+Enter で送信」に逆転させたい場合は、キー割り当ての設定ファイルで
chat:newlineとchat:submitという項目を書き換えます。ただし最初は素直に Ctrl+J を覚える方が早いです - 日本語キーボードでバックスラッシュが見つからないことがある。Ctrl+J の代わりに「`\` を打ってから Enter」でも改行できますが、日本語配列では
\が ¥ キーで入力される環境があります。打てずに困ったら Ctrl+J の方を使えば確実です - tmux の中だと Shift+Enter が壊れることがある。公式は tmux 内で Shift+Enter が送信になってしまうと書いています。一方で Ctrl+J と「`\` then Enter」は設定不要の手段として案内されているので、tmux で改行に困ったらまず Ctrl+J を試すのが無難です
書き方
(入力欄で)Control + J
やってみるとこうなる
入力
recipes/curry.html を直して。(ここで Ctrl+J)
1. 材料を4人前に変更(ここで Ctrl+J)
2. 調理時間を「約40分」に統一(ここで Enter で送信)
出力例
入力欄の中で改行が入り、送信されずに次の行が書ける。すべて書き終えてからEnterを押すと、複数行がまとめてClaudeに届く。
このページに出てきた言葉
- ターミナル
- 黒い画面で文字のコマンドを打ち込む画面。Windowsの「コマンドプロンプト」「PowerShell」、Macの「ターミナル」アプリなど。Claude Codeはこの中で動く
- 対話モード
- ターミナルで <code>claude</code> と打って起動し、入力欄に指示を打ち込んでやりとりする通常の使い方
- Shift+Enter
- Ctrl+Jと同じく改行を入れるキー操作。ただし動く黒い画面と動かない黒い画面があり、環境によっては <code>/terminal-setup</code> が要る
- Paste mode
- コピーした塊をそのまま入力欄に貼り付ける方法。長いコードやログを入れるときは1行ずつ改行するより貼り付けが向く
- Vimモード
- テキスト編集ソフト「Vim」風の入力モード。<code>/config</code> から切り替えられる。慣れた人向けで普段は使わなくてよい