Claude Codeの改行|Shift+Enterが効かないときの対処と入力方法
この記事でわかること
- Enterで送信されてしまうときの、改行の入力方法4つ
- Shift+Enterが使える端末と、設定が必要な端末
- /terminal-setup の使いどころと、MacでのOptionキーの設定
- tmux・VS Code・JetBrainsなど、環境ごとの注意
- 改行と送信のキーを入れ替える方法と、長い文章の入力のコツ
目次
「Claude Codeの入力欄で、Enterを押すと途中で送信されてしまう」「Shift+Enterを押しても改行されない」と困っている方も多いのではないでしょうか。
結論から言うと、Claude CodeではEnterが送信になっています。改行したいときは、Ctrl+Jか、「\」を入力してからEnterを押す方法を使います。この2つは、公式ドキュメントで「どの端末でも設定なしで使える」とされています。Shift+Enterは便利ですが、端末によって対応が分かれます。
この記事では、改行の入力方法を最初に整理したうえで、端末ごとの対応表、効かないときの対処、Macでの設定、tmuxやVS Codeでの注意、キーの入れ替え方までを順に解説します。内容は2026年10月時点の公式ドキュメントをもとにしています。操作や対応端末は更新で変わることがあるので、困ったときは公式ドキュメントもあわせて確認してください。
改行の入力方法

Claude Codeの入力欄では、Enterを押すとメッセージが送信されます。改行するには別のキーを使います。公式ドキュメントに載っている方法は次の4つです。
| 方法 | キー | 使える条件 |
|---|---|---|
| Ctrl+J | Ctrlを押しながらJ | どの端末でも設定なしで使える |
| バックスラッシュ+Enter | \ を入力してから Enter | どの端末でも設定なしで使える |
| Shift+Enter | Shiftを押しながらEnter | 端末による。設定不要の端末と、設定が必要な端末がある |
| Option+Enter | Optionを押しながらEnter | macOSで、端末の設定で「OptionをMetaキーとして使う」を有効にした場合 |
表のうち、迷ったときに頼れるのは上の2つです。「\」を入力してからEnterを押す方法は、行の終わりに「\」を打つだけなので、キーボードの配置が違うパソコンでも迷いません。
迷ったらCtrl+J
Shift+Enterが効く端末でも効かない端末でも、Ctrl+Jは同じように動きます。会社のパソコンと自宅のパソコンで端末が違う場合も、Ctrl+Jだけ覚えておけば困りません。
貼り付けた文章の改行
文章を貼り付ける場合は、キーを使った改行は必要ありません。公式の表でも、貼り付けは「そのまま貼る。コードやログ向け」という扱いです。複数行の文章をコピーして貼り付ければ、改行を含んだまま入力欄に入ります。長い文章を貼り付けたときの表示については、後半の「長い文章の入力」で説明します。
Enterの動きを変えたい場合
「Enterで改行、別のキーで送信」にしたいという場合は、キーの割り当てを変えられます。手順は「送信と改行のキーを入れ替える」の節で紹介します。
端末ごとの対応

Shift+Enterが使えるかどうかは、Claude Codeを動かしている「端末」(ターミナルソフト)によって決まります。公式ドキュメントの対応表を、読みやすくまとめました。
| 端末 | Shift+Enterでの改行 |
|---|---|
| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | 設定なしで使える |
| kittyキーボードプロトコルに対応した他の端末(footや、Alacritty 0.16以降など) | 設定なしで使える。Claude Code v2.1.269以降が必要 |
| VS Code、Cursor、Devin Desktop、Alacritty 0.16より前、Zed | 最初に一度だけ /terminal-setup を実行する |
| gnome-terminal、JetBrains系IDE(PyCharm、Android Studioなど) | 使えない。Ctrl+Jか「\」+Enterを使う |
表にない端末を使っている場合
たとえば、Windowsの標準のコンソールウィンドウ(PowerShellやコマンドプロンプトを単独で開いたもの)は、公式の対応表に載っていません。そのため、Shift+Enterが使えるかは公式からは分かりません。この場合は、設定なしで使えるとされているCtrl+Jか「\」+Enterを使いましょう。Windows Terminalは表に載っており、設定なしで使えます。
macOSのApple Terminalは表の上段にあり、Shift+Enterがそのまま使えます。一方で、Option+Enterを使いたい場合は、後ほど説明する設定が必要です。
Shift+Enterが効かないとき

Shift+Enterを押したら、改行されずにメッセージが送信された。この症状は、端末がShift+EnterをただのEnterと区別して送ってこないときに起こります。公式ドキュメントでも、最初に挙げられている症状です。次の順に確認してください。
- 使っている端末を確認する前の節の対応表で、自分の端末がどの行に当たるかを見ます。VS Code、Cursor、Zedなどのエディタの中で使っている場合は、エディタ内蔵の端末です。
- 設定が必要な端末なら /terminal-setup を実行するClaude Codeの入力欄で
/terminal-setupと入力して実行します。端末の設定ファイルに、Shift+Enterのキー設定が書き込まれます。 - tmuxの中なら、tmuxの設定も確認するtmuxの中でClaude Codeを動かしている場合、外側の端末が対応していても、tmux側の設定が必要です(後の節で説明します)。
- 使えない端末ならあきらめて別の方法にするgnome-terminalやJetBrains系IDEでは、Shift+Enterは使えません。Ctrl+Jか「\」+Enterを使います。
/terminal-setup を最初に実行したときは、VS Codeであれば「Installed VSCode terminal Shift+Enter key binding」のようなメッセージが出ます。すでに設定済みの場合は「already configured」といった表示が出て、何も変更されません。
/terminal-setup は別の設定も変える
VS Code、Cursor、Devin Desktopで実行すると、Shift+Enterの設定に加えて、エディタの設定 terminal.integrated.gpuAcceleration を "off" にします。端末内の文字化けを防ぐための変更です。元に戻したいときは、この設定を "auto" にしてエディタのウィンドウを再読み込みします。また、tmuxやscreenの中ではなく、外側の端末で直接実行してください。
Zedでの動き
Zedの場合、/terminal-setup は keymap.json を書き換えます。すでにキー設定がある場合は、先に同じフォルダへバックアップのファイル(拡張子 .bak)を作ってから、Shift+Enterの設定を追加します。読み込みやバックアップに失敗したときは、ファイルを変更せず、追加すべき設定を画面に表示するだけです。その場合は、表示された内容を自分で書き足します。
Claude Codeのバージョンを確認する
footやAlacritty 0.16以降のように、kittyキーボードプロトコルに対応した端末で使うには、Claude Code v2.1.269以降が必要です。Shift+Enterが効かないときは、端末のウィンドウで claude --version を実行して、バージョンを確認してみてください。
MacでOption+Enterを使う

Macでは、Optionキーを使うショートカットが、初期設定のままでは動きません。多くの端末が、Optionキーを修飾キーとして送らないためです。Option+Enterでの改行のほか、Option+Pでのモデル切り替えなども同じです。端末の設定にある「Use Option as Meta Key」(OptionをMetaキーとして使う)を有効にします。
| 端末 | 設定する場所 |
|---|---|
| Apple Terminal | 設定(Settings)→ プロファイル(Profiles)→ キーボード(Keyboard)で、「Use Option as Meta Key」にチェックを入れる |
| iTerm2 | 設定(Settings)→ Profiles → Keys → General で、Left Option key と Right Option key を「Esc+」にする |
| VS Code | VS Codeの設定に "terminal.integrated.macOptionIsMeta": true を追加する |
| Ghostty、Kittyなど | 端末の設定ファイルで、OptionをAlt(Meta)として扱う設定を探す |
Apple Terminalでは、Claude Codeの初回に出る端末の設定の案内を受け入れていれば、この設定はすでに済んでいます。その案内は /terminal-setup を実行するもので、Option をMetaキーにする設定と、音の出るベルをオフにする設定を、Apple Terminalのプロファイルに書き込みます。
iTerm2で /terminal-setup を実行すると、/copy コマンドがクリップボードに書き込めるよう、「Applications in terminal may access clipboard」が有効になります。変更を反映するには、iTerm2の再起動が必要です。Optionキーの設定は、上の表のとおり自分で行います。
Optionの設定をしたくなければ
Option+Enterにこだわらなければ、MacでもShift+EnterかCtrl+Jで改行できます。Apple TerminalやiTerm2は、Shift+Enterが設定なしで使える端末です。
tmux・VS Code・JetBrains

端末の種類のほかに、「何の中でClaude Codeを動かしているか」でも、改行の方法が変わります。
tmuxの中で使う場合
tmuxの中でClaude Codeを動かすと、初期設定のままではShift+Enterが送信になってしまいます。~/.tmux.conf に次の3行を追加し、tmux source-file ~/.tmux.conf を実行して、動いているtmuxに反映します。
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
1行目は、通知などを外側の端末に届けるための設定です。2行目と3行目で、tmuxがShift+Enterと通常のEnterを区別できるようになります。tmuxを使っていない人には関係のない設定です。
VS Codeで使う場合
VS Codeでは、「内蔵ターミナルでClaude Code(CLI)を動かす」場合と、「拡張機能の画面で使う」場合で、操作が異なります。
| 使い方 | 改行のしかた |
|---|---|
| 内蔵ターミナルでclaudeコマンドを動かす | Shift+Enterを使うには /terminal-setup を一度実行する。実行しなくても、Ctrl+Jと「\」+Enterは使える |
| 拡張機能のチャット画面 | Shift+Enterで、送信せずに改行できる |
拡張機能には、送信のキーを変える設定もあります。useCtrlEnterToSend を有効にすると、EnterではなくCtrl+Enter(MacではCmd+Enter)で送信するようになります。Enterで改行したい人は、この設定を使う方法もあります。設定は、VS Codeの「拡張機能」→「Claude Code」から開けます。
JetBrains系IDEやgnome-terminalの場合
PyCharmやAndroid StudioなどのJetBrains系IDEの端末と、gnome-terminalでは、Shift+Enterは使えません。公式ドキュメントでも「Not available」とされており、設定で回避する方法も案内されていません。Ctrl+Jか「\」+Enterを使ってください。
送信と改行のキーを入れ替える

「普段はEnterで改行したい。送信は別のキーにしたい」という場合は、キーの割り当てを変えられます。公式ドキュメントでは、chat:newline(改行)と chat:submit(送信)のアクションを割り当て直すことで、EnterとShift+Enterの動きを入れ替えられると案内されています。
Claude Codeの入力欄で /keybindings を実行すると、設定ファイル ~/.claude/keybindings.json が作られる(または開く)ので、そこに書きます。初期設定では、chat:submit がEnter、chat:newline がCtrl+Jです。
{
"bindings": [
{
"context": "Chat",
"bindings": {
"enter": "chat:newline",
"shift+enter": "chat:submit"
}
}
]
}
これはEnterを改行、Shift+Enterを送信にする例です。書式(bindings の配列、context、キー名の書き方)は公式ドキュメントのとおりです。設定ファイルの変更は自動で検出され、Claude Codeを再起動しなくても反映されます。
入れ替える前に確認すること
この例は、Shift+Enterが使える端末(対応表の上段、または /terminal-setup 済みの端末)が前提です。端末がShift+Enterを区別できないと、送信のキーとして使えません。まず対応表で確認してから設定してください。なお、Ctrl+CとCtrl+Dなど一部のキーは、公式ドキュメントで「割り当てを変更できない」とされています。
キーの割り当てをもとに戻したいときは、追加した設定を消すだけです。ほかのショートカットを変えたい場合も、同じファイルに書き足せます。
長い文章の入力

改行が必要になるのは、たいてい長い指示を書くときです。長い文章を扱うときの、公式ドキュメントに載っている機能を紹介します。
貼り付けた文章は折りたたまれる
800文字を超える、または4行以上の文章を貼り付けると、入力欄には [Pasted text #1 +120 lines] のような表示に折りたたまれます。入力欄を見やすくするための表示で、送信するときは、貼り付けた全文が送られます。
ファイルまるごとや長いログのように、とても大きな内容は、貼り付けるよりも、ファイルに保存して「このファイルを読んで」と頼む方法が勧められています。VS Codeの内蔵ターミナルでは、大きな貼り付けの一部が欠けることもあるため、ファイルを使うのが確実です。
エディタで書いて、そのまま送る
長い文章は、入力欄の中で書くより、普段使っているテキストエディタで書く方が楽なことがあります。Ctrl+G(または Ctrl+X のあとに Ctrl+E)を押すと、入力中の内容をデフォルトのテキストエディタで開けます。
Vimモードを使っている場合
入力欄はVimのキー操作にも切り替えられます(/config の Editor mode で設定)。このモードでも、挿入モード(INSERT)でEnterを押すと送信されます。改行したいときは、通常モード(NORMAL)で o か O を使うか、Ctrl+Jを押します。
書きかけの文章を一時的にしまう
入力中に別の質問をしたくなったときは、Ctrl+S で入力中の内容を一時的に退避できます。空の入力欄でもう一度 Ctrl+S を押すと、退避した内容が戻ります。
よくある質問
Enterを押すと送信されてしまい、改行できません。
Claude CodeではEnterが送信です。改行はCtrl+Jか、「\」を入力してからEnterを押します。この2つはどの端末でも設定なしで使えます。
いちばん確実な改行の方法はどれですか?
Ctrl+Jです。公式ドキュメントで、どの端末でも設定なしで使えるとされています。「\」+Enterも同じ扱いです。
/terminal-setup を実行したのに、Shift+Enterが効きません。
tmuxやscreenの中で実行していないかを確認してください。外側の端末で直接実行する必要があります。tmuxの中で使っている場合は、tmux側の設定も必要です。gnome-terminalやJetBrains系IDEの端末では、そもそもShift+Enterが使えません。
Macで Option+Enter が効きません。
端末の設定で、OptionをMetaキーとして使うように設定する必要があります。Apple Terminal、iTerm2、VS Codeの設定場所は、この記事の表にまとめています。設定したくない場合は、Shift+EnterかCtrl+Jで改行できます。
Windowsでも使えますか?
Ctrl+Jと「\」+Enterは、どの端末でも使えるとされています。Shift+Enterは、Windows Terminalでは設定なしで使えます。それ以外の端末は、公式の対応表を確認してください。標準のPowerShellやコマンドプロンプトのウィンドウについては、公式には案内がありません。
日本語入力の変換を確定するEnterで送信されませんか?
日本語入力(IME)で変換を確定するときのEnterの扱いについては、公式ドキュメントに案内が見つかりませんでした。使っている端末とIMEの組み合わせで動きが変わる可能性があるため、入力する前に、短い文章で一度試してから使うことをおすすめします。
Enterで改行して、別のキーで送信できますか?
できます。/keybindings で設定ファイルを開き、chat:newline と chat:submit を割り当て直します。VS Codeの拡張機能なら、useCtrlEnterToSend の設定でも、Ctrl+Enter(MacではCmd+Enter)での送信に変えられます。
改行を含む文章を貼り付けても大丈夫ですか?
大丈夫です。複数行の文章は、そのまま貼り付けられます。長い文章は [Pasted text #1 +120 lines] のように折りたたんで表示されますが、送信時には全文が送られます。
入力欄の中で、上下キーを押すとどうなりますか?
入力が複数行になっているときは、まず入力欄の中でカーソルが上下に動きます。一番上または一番下の行で、さらに上下キーを押すと、過去に送った内容(履歴)をたどります。
デスクトップアプリでの改行は、どうすればいいですか?
公式ドキュメントのデスクトップアプリのページでは、改行の入力方法の記載を確認できませんでした。入力方法が分からない場合は、アプリ内のショートカット表示や、公式ドキュメントで確認してください。
まとめ
この記事のまとめ
- Claude Codeの入力欄では、Enterが送信。改行は別のキーで入力する
- Ctrl+Jと、「\」を入力してからEnterは、どの端末でも設定なしで使える
- Shift+Enterは、Ghostty・Kitty・iTerm2・WezTerm・Warp・Apple Terminal・Windows Terminalで設定なしで使える
- VS Code・Cursor・Zedなどは、/terminal-setup を一度実行する。JetBrains系IDEとgnome-terminalでは使えない
- MacでOption+Enterを使うには、端末で「OptionをMetaキーとして使う」設定が必要。tmuxの中では、tmux側の設定も必要
- 送信と改行のキーは、
/keybindingsのファイルで入れ替えられる
改行のキーは小さな話ですが、毎日使う道具だからこそ、つまずきが続くと作業の妨げになります。環境が人によってばらばらな会社では、使うターミナルの種類や設定を社内でそろえておくと、問い合わせも減ります。
INTERCREATE JAPANでは、Claude Codeを社内で使い始めるための環境づくりや、使い方のルールづくりをお手伝いしています。導入で困ったときは、お気軽にご相談ください。
参考・出典
INTERCREATE JAPAN