Claude Codeの改行、なぜこんなに話題になるのか
室谷Claude Codeを使い始めた人がほぼ100%で一度ハマるのが、この「改行どうするんだ」問題ですよね。Enterを押したら送信されてしまって、まだ書いてる途中なのに・・・というのを、.AI(ドットエーアイ)コミュニティでも毎週のように聞きます。
テキトー教師講座でも初日の最初の質問はほぼこれです(笑)。CLIツール全般の話で言うと、Enterキーは「コマンド実行」という感覚が染み付いているので、改行キーとして使えないのは混乱しますね。
コミュニティのメンバーさんの中には「バグじゃないのか」と思っていた方もいました。
コミュニティのメンバーさんの中には「バグじゃないのか」と思っていた方もいました。
室谷これはバグじゃなくて仕様なんですよね。Claude Codeはターミナルで動くCLIツールなので、Enterは送信。
改行するには別の方法が必要です。ただ、公式がちゃんと複数の選択肢を用意してくれているので、自分の環境に合ったものを選べば快適になります。
改行するには別の方法が必要です。ただ、公式がちゃんと複数の選択肢を用意してくれているので、自分の環境に合ったものを選べば快適になります。
テキトー教師整理すると、改行の方法は大きく4種類あります。どのターミナルを使っているかで最適解が変わってくるので、まずは自分の環境を確認するところから始めましょう。
改行方法の全パターン
:まず全体像を把握する

室谷まず全体像から話しましょう。に、改行方法が明記されています。
| 方法 | キー操作 | 対応環境 |
|---|---|---|
| クイックエスケープ | \(バックスラッシュ)+ Enter | 全環境共通 |
| Shift+Enter | そのまま押す | iTerm2、WezTerm、Ghostty、Kitty |
| Ctrl+J | そのまま押す | 全ターミナル共通(設定不要) |
| キーバインド設定 | /terminal-setup で自動設定 | VSCode、Alacritty、Zed、Warp |
| Option+Enter | 設定後に使用 | VSCode、iTerm2、macOS Terminal |
テキトー教師この表を見ると、ターミナルによって使える方法が違うのがわかります。「Shift+Enterで改行できない」と困っている人は、VSCodeのターミナルを使っているケースが多いです。
iTerm2やWezTermなら設定不要でShift+Enterが使えます。
iTerm2やWezTermなら設定不要でShift+Enterが使えます。
室谷MYUUUのチームはほぼiTerm2かGhosttyなので、Shift+Enterをそのまま使えています。でもWindowsだと話が変わってきて、WSL2経由でLinuxのターミナルを使っている場合は別の設定が必要になります。
バックスラッシュ + Enter(全環境共通)
テキトー教師環境を選ばず使えるのが、行末にバックスラッシュ(
\)を入力してからEnterを押す方法です。これは公式ドキュメントでも「クイックエスケープ」として紹介されています。これは長い指示を\
複数行にわたって\
入力する方法です
室谷慣れれば悪くないんですが、バックスラッシュを毎回入力するのは正直面倒です。短いプロンプトならいいけど、長いSQLや複雑な指示を書くときはキーバインド設定をした方が圧倒的に楽です。
テキトー教師あと、バックスラッシュの位置がキーボードのレイアウトによって微妙に違うのも地味にストレスで(笑)。MacのJISキーボードだとちょっと押しにくい位置にあります。
Ctrl+J(設定不要・全ターミナル共通)
室谷最近のMac版Claude Codeでよく使われているのがCtrl+Jです。現行バージョンでは設定不要で使えます。
テキトー教師これ、知られていない人が多くて、講座で紹介すると「それで改行できるんですか!」ってなる率が高いんですよ。覚えておいて損はない方法です。
室谷ただ一点注意があって、VSCodeを使っている場合、Ctrl+Jがパネルの開閉にデフォルトで割り当てられているので、そこが衝突することがあります。その場合はVSCodeのキーバインド設定でCtrl+Jの割り当てを解除してから使ってください。
/terminal-setupコマンドで自動設定する
テキトー教師一番おすすめの方法が、Claude Code内で
/terminal-setup コマンドを実行する方法です。VSCode、Alacritty、Zed、WarpなどのターミナルでShift+Enterを自動設定してくれます。
室谷使い方はシンプルで、Claude Codeを起動した後にプロンプトに
/terminal-setup と入力して実行するだけです。/terminal-setup
テキトー教師実行すると
なお、iTerm2・WezTerm・Ghostty・KittyはShift+Enterがネイティブ対応しているので、このコマンドは表示されません。
keybindings.json にキーバインドが自動書き込みされます。設定後はShift+Enterで改行できるようになります。なお、iTerm2・WezTerm・Ghostty・KittyはShift+Enterがネイティブ対応しているので、このコマンドは表示されません。
室谷2026年初頭に一度、バージョンアップに伴って設定が壊れる事象がありました。バージョンアップに伴って設定が古くなったユーザーがShift+Enterで改行でなく送信になってしまう問題です。
その場合は
その場合は
keybindings.json を一旦リセットして再度 /terminal-setup を実行すれば直ります。
テキトー教師これは実際にかなりの人が影響を受けていたみたいですね。急にShift+Enterが効かなくなった場合は、まずバージョンを確認して、この対処法を試してみてください。
VSCodeのターミナルで改行が効かなくなったときの対処
室谷VSCode固有の対処法を整理しましょう。まず
keybindings.json の中身を確認します。// 正しい設定(v2.1.70以降)
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\u001b\r"
},
"when": "terminalFocus"
}
テキトー教師もし古い設定(
"text": "\\\r\n")が残っていたら、それが原因です。keybindings.json の中身を [] にリセットしてから、Claude Codeで /terminal-setup を再実行してください。
室谷VSCodeのターミナルで改行設定をする場合、もう一つ方法があって、VSCode設定で
"terminal.integrated.macOptionIsMeta": true にするとOption+Enterでも改行できるようになります。どちらか使いやすい方を選べばいいですね。Mac・Windowsそれぞれの改行設定
Macの場合
テキトー教師Macで使えるターミナル別にまとめると、こうなります。
| ターミナル | 改行方法 | 設定要否 |
|---|---|---|
| iTerm2 | Shift+Enter | 不要(ネイティブ対応) |
| macOS Terminal.app | Option+Enter | 「Option キーを Meta キーとして使用」を有効化 |
| VSCode Terminal | Shift+Enter | /terminal-setup で設定 |
| Ghostty | Shift+Enter | 不要(ネイティブ対応) |
| Warp | Shift+Enter | /terminal-setup で設定 |
室谷macOS Terminal.appはApple標準のターミナルですが、Claude Codeとの相性はあまりよくないですね・・・。設定でOption+Enterを使えるようにはなりますが、iTerm2かGhosttyに乗り換えた方が快適です。
テキトー教師コミュニティのメンバーさんにもiTerm2かGhosttyを最初から使ってもらっています。GhosttyはShift+Enterでそのまま動いて、見た目もきれいで、.AI(ドットエーアイ)コミュニティでも最近使い始める人が増えています。
室谷Ghosttyはパフォーマンスもいいですし、長いコンテキストを扱うときのレンダリングが安定していて、Claude Codeとの組み合わせは個人的にもおすすめです。
Windowsの場合
室谷WindowsはWSL2経由でLinux環境を使っているケースが多いと思います。その場合、ターミナルはWindows TerminalかWSLgで動かすことになります。
テキトー教師Windows TerminalでClaude Codeを使う場合は、まず
うまくいかない場合はCtrl+Jか、バックスラッシュ+Enterを使うのが現実的です。
/terminal-setup を試してみてください。設定が適用されればShift+Enterが使えるようになります。うまくいかない場合はCtrl+Jか、バックスラッシュ+Enterを使うのが現実的です。
室谷WindowsのVSCodeターミナルを使っている場合は、先ほど紹介したMacと同じ設定方法がそのまま使えます。
keybindings.json を修正するか /terminal-setup で自動設定する流れです。tmux環境での改行設定
室谷tmuxを使っている人が「/terminal-setupが効かない」と言っているのをたまに見かけます。これはtmuxが環境変数を上書きしてしまうのが原因です。
テキトー教師tmux環境での解決方法は、一旦tmuxセッションの外でClaude Codeを起動して
/terminal-setup を実行することです。設定が完了した後はtmux内でも動きます。
室谷もしくはtmuxの設定ファイルに
set -g allow-passthrough on を追加するとエスケープシーケンスがパススルーされて、通知やShift+Enterが正常に機能するようになります。Claude Codeをtmuxで使い込む人は入れておいた方がいい設定ですね。プロンプト入力での改行活用テクニック
テキトー教師改行の設定ができたら、実際のプロンプト入力でどう活用するかも話しておきましょう。Claude Codeで長い指示を書くとき、改行を使って構造化すると指示の精度が上がります。
室谷MYUUUでもやっている書き方なんですが、複数の条件を持つプロンプトは改行で箇条書き的に書いた方が、Claude側の理解度が上がる感じがします。
以下の仕様でAPIエンドポイントを実装してください:
- メソッド: POST
- パス: /api/users
- バリデーション: emailとpasswordは必須
- レスポンス: 作成したユーザーオブジェクト(パスワードは除く)
- エラー処理: 重複メールの場合は409を返す
テキトー教師これがバックスラッシュ+Enterしかできない状態だと、かなり書きにくいと思います。Shift+EnterやCtrl+Jが使えると、このレベルの複雑な指示もストレスなく入力できます。
室谷あと、長い指示を直接貼り付けるより、ファイルに書いてClaudeに読み込ませる方法も有効です。公式でも推奨されていて、「ファイルベースのワークフロー」として案内されています。
VSCodeのターミナルは特に長い貼り付けで切り詰めが発生しやすいので、知っておくと助かります。
VSCodeのターミナルは特に長い貼り付けで切り詰めが発生しやすいので、知っておくと助かります。
FAQ:改行でよくある疑問
テキトー教師よく出る質問をまとめておきます。
Q: Ctrl+Jを押すと別のアプリが起動する
室谷VSCodeのデフォルトキーバインドがCtrl+Jだと衝突します。VSCode設定でCtrl+Jの既存割り当てを解除してから使ってください。
Q: /terminal-setupコマンドが表示されない
テキトー教師iTerm2・WezTerm・Ghostty・KittyはShift+Enterがネイティブ対応しているので、このコマンドは表示されません。表示されないのは「対応済みだから不要」というサインです。
Q: Shift+Enterを設定したはずなのに送信される
室谷バージョンアップで設定が古くなっている可能性があります。
keybindings.json を確認して古い設定(\\\r\n)が残っていたらリセットして /terminal-setup をやり直してください。Q: claude code のターミナルで改行するベストな方法は?
テキトー教師ターミナル環境を整えるのが一番ですが、すぐ試したいならCtrl+Jが手っ取り早いです。設定なしで動くことが多いです。
まとめ
室谷Claude Codeの改行方法を環境別に整理しました。ポイントをまとめます。
- 今すぐ試せる方法:
Ctrl+Jまたは\(バックスラッシュ)+Enter - iTerm2/WezTerm/Ghostty/Kittyを使っている: Shift+Enterがそのまま使える(設定不要)
- VSCode/Warp/Alacrittyを使っている:
/terminal-setupを実行してShift+Enterを設定 - macOS Terminal.app: 設定でOption+Enterを有効化、またはiTerm2への乗り換えを推奨
- Shift+Enterが急に効かなくなった: keybindings.jsonをリセットして
/terminal-setupを再実行
テキトー教師この改行問題、一度解決すれば二度と気にならなくなります。逆に言うと、これを解決するだけでClaude Codeの使用感がガラッと変わるので、まだ設定していない人はぜひやってみてください。
