カテゴリー / エラー・不具合の対処

Claude Codeで送信できない原因と直し方:Enter・応答・エラー別

この記事の目次

Claude Codeで送信できないときは、まず「Enterを押しても送信にならない」のか、「送ったはずなのに返事が来ない」のかを分けてください。Claude Codeの送信キーは既定でEnterで、改行はCtrl+Jまたは \ のあとにEnterです。Enterで送れない場合は、キー割り当ての変更、補完メニューの表示、貼り付けた文字に含まれる見えない文字の除去、存在しないスラッシュコマンドが確認すべき候補です。送ったのに返事がない場合は、Claudeの作業中に送ったメッセージが待ち行列に入っているか、自動リトライを終えたあとのエラー表示が出ているかを確かめます。

Claude Codeで送信できないとき、最初にどこを見ればいいか

画面の状態で、確認先となる節が決まります。

画面の状態 考えられる原因 見る節
Enterを押すと改行になる、または何も起きない キー割り当て、補完メニュー Enterが送信にならない
Enterを押したら入力欄に文章が戻り、通知が出た 見えない文字の除去 貼り付けた文章が送れない
Unknown command: と表示された 存在しないスラッシュコマンド / で始まる入力が送れない
Shift+Enterで改行したいのに送信されてしまう ターミナルの設定 Shift+Enterが送信になる
送ったメッセージが灰色のまま Claudeの作業中で待ち行列に入っている 送ったのに灰色のまま
API Error: や Not logged in が出た 認証、使用上限、サーバー、通信 エラー表示の読み方
入力そのものを受け付けない プロセスの無反応 固まって操作できない

どこに当てはまるか分からない場合は、Claude Codeの中で /doctor を実行します。公式ドキュメントでは、インストール、設定、拡張機能、コンテキストの使用量を自動で診断して、適用できる修正を確認のうえで提案するコマンドとして説明されています。claude 自体が起動しない場合は、シェルから次のコマンドを実行します。

claude doctor

Enterを押しても送信にならないのはなぜか

既定のキー割り当てを確認する

公式のキー操作の割り当て一覧では、送信は chat:submit(既定はEnter)、改行は chat:newline(既定はCtrl+J)というアクションに割り当てられています。Enterで改行になる、または送信されないなら、この割り当てが変わっていないかを最初に確かめます。

キー割り当ては ~/.claude/keybindings.json に書かれます。Claude Codeで /keybindings を実行すると、このファイルが作成されるか、既存のものが開きます。ファイルを開いたら、chat:submit と chat:newline がどのキーに割り当てられているかを確認してください。ファイルの変更は再起動なしで自動的に反映されます。

公式ドキュメントによると、Claude Codeはキー割り当てを検証してデバッグログに警告を書き込みます。たとえばアクション名を打ち間違えた場合、その割り当ては読み飛ばされ、そのキーの既定の割り当てが残ります。設定したはずの変更が効かないときは、JSONの構文とアクション名の綴りを見直してください。

補完メニューが開いていないか確認する

@ を入力すると、ファイルパスの補完が始まります。公式のキー割り当て一覧には、Ctrl+X Enterに割り当てられた chat:queueSubmit(v2.1.247以降)について「chat:submit と違い、補完候補がハイライトされている間も下書きを送信する」と書かれています。つまり通常のEnterは、補完候補が選ばれている間は送信として扱われない場合があります。

メニューが開いているときは、Escapeでメニューを閉じてからEnterを押すか、Tabで候補を確定してから送信します。

日本語入力の変換確定について

日本語入力(IME)で変換を確定するEnterと送信のEnterの関係は、本稿では公式の記述を確認できていないため扱いません。日本語入力や文字化けの対処は日本語設定ガイドで扱っています。

貼り付けた文章が送れないのは見えない文字のせいか

Webページや資料からコピーした文章を貼り付けてEnterを押したのに、送信されずに文章が入力欄に戻ってくることがあります。これは不具合ではなく、公式ドキュメントに書かれている仕様です。

コピーした文章には、タグ文字、双方向制御文字、ゼロ幅スペースのように、ターミナルに何も表示されないUnicode文字が含まれていることがあります。Claude CodeはEnterを押した時点で、送信前にこれらの文字を取り除きます。取り除いた文字があった場合、そのEnterでは何も送信されません。整えた文章が入力欄に戻り、次のような通知が出ます。

Removed 3 invisible characters · review and press Enter to send

内容を確認して、もう一度Enterを押せば、表示されているとおりの文章が送信されます。VS Code拡張でも同じで、除去の通知が出たときは何も送られていないため、もう一度送信します。

/ で始まる入力が送れないのはなぜか

対話モードのターミナルで、存在しないコマンド名を / に続けて入力すると、Claude Codeはそれを送信せずに次のような表示を返します。

Unknown command: /hepl. Did you mean /help?

打ち間違いのほか、プラットフォーム、プラン、認証方法などの条件を満たさず今のセッションでは使えないコマンドや、インストールまたは接続されていないプラグインやMCPサーバーのコマンドも原因になります。候補として示された名前を実行するか、/ に続けて名前の一部を入力し、今のセッションで使えるコマンドを確認してください。

一方、/var/log/syslog のようにパスで始まる文章は、コマンドではなく通常のメッセージとして送られます。

Shift+Enterで改行したいのに送信されてしまうときは

Claude Codeで送信とは逆に、改行したいのに途中で送信されてしまう場合の確認です。Ctrl+Jと \ のあとのEnterは、どのターミナルでも設定なしで改行になります。Shift+Enterはターミナルによって扱いが異なり、公式ドキュメントでは次のように整理されています。

ターミナル Shift+Enterでの改行
Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal 設定なしで使える
VS Code、Cursor、Devin Desktop、Alacritty 0.16より前、Zed /terminal-setup を1回実行する
gnome-terminal、PyCharmやAndroid StudioなどのJetBrains IDE 使えない。Ctrl+Jか \ のあとにEnter

/terminal-setup は、対象のターミナルの設定ファイルにShift+Enterの割り当てを書き込みます。すでに割り当てがある場合は変更せず、VSCode terminal Shift+Enter key binding already configured のような表示が出ます。このコマンドはホスト側のターミナルの設定を書き換えるため、tmuxやscreenの中ではなく、ホストのターミナルで直接実行してください。

tmuxの中では、外側のターミナルが対応していても、既定ではShift+Enterが送信になります。公式ドキュメントでは ~/.tmux.conf に次の3行を追加するよう案内されています。

set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

追加したら、次のコマンドで起動中のtmuxに反映します。

tmux source-file ~/.tmux.conf

Enterで改行、Shift+Enterで送信のように役割を入れ替えたい場合は、前述の keybindings.json で chat:newline と chat:submit を割り当て直します。VS Code拡張のチャット欄では、Shift+Enterで送信せずに改行できます。拡張機能の使い方はVS Code拡張ガイドにまとめています。

送ったのに灰色のまま返事がないのはなぜか

Claudeが作業している最中にメッセージを入力してEnterを押すと、Claude Codeは作業を中断せず、そのメッセージを待ち行列に入れます。公式ドキュメントによると、送信済みのメッセージと待ち行列のメッセージは、Claudeが応答を始めるまで送信状態が灰色で表示されます。灰色のままなのは送信に失敗したからではなく、まだClaudeが着手していないという意味です。

待ち行列のメッセージは、Claudeがツールの実行中であれば、そのツールの実行が終わった時点で同じターンの中で渡されます。ターンが終わった時点で残っているメッセージは、キーを押さなくても入力した順に送られます。

待たずに届けたいときの操作は次のとおりです。

  • すぐ送る:Ctrl+Enterを押すと、待ち行列のメッセージがすぐに送られます(v2.1.275以降)。拡張キーを伝えないターミナルではCtrl+Enterが通常のEnterとして届き、下書きが待ち行列に入るだけになります。その場合はCtrl+X Ctrl+Sを使います。
  • 作業を止めて送る:Escを押すと、下書きは送信せずにターンを中断し、待ち行列のメッセージをすぐに送ります。
  • 取り消して書き直す:入力欄の1行目でUpキーを押すと、待ち行列のメッセージが入力欄に戻ります。

長い作業の途中で止まったように見える場合の切り分けは、途中で止まるときの対処ガイドで扱っています。

エラー表示が出たときはどう読めばいいか

公式のエラーリファレンスによると、Claude Codeは一時的な失敗を指数バックオフで最大10回まで自動リトライしてから、エラーを表示します。つまりエラー状態が見えている時点で、適用できるリトライはすでに終わっています。表示された文言から、次の表で対処を選んでください。

表示される文言 意味 公式が案内する対処
Not logged in · Please run /login このセッションに有効な認証情報がない /login を実行する
You've hit your session limit · resets ... など サブスクリプションの使用量の上限に達した 表示されたリセット時刻まで待つ。/usage で上限とリセット時刻を確認する
API Error: Request rejected (429) APIキー、Amazon Bedrockのプロジェクト、Google Cloudのプロジェクトに設定されたレート制限に達した /status で使用中の認証情報を確認する。環境に残った ANTHROPIC_API_KEY がサブスクリプションの代わりに使われている場合がある
API Error: 500 Internal server error API内部の予期しない失敗。プロンプトや設定、アカウントが原因ではない status.claude.com で障害情報を確認し、1分ほど待って再送する
API Error: Repeated 529 Overloaded errors APIが全利用者に対して一時的に容量不足。使用量の上限ではない 数分後に再試行する。/model で別のモデルに切り替える
API Error: No response from API 最初のバイトの期限内に応答ヘッダーが届かず、最大1回の自動再送でも応答がなかった 再送する。繰り返すならネットワークやプロキシの問題として扱う
Unable to connect to API APIへのTCP接続が失敗した、または完了しなかった 次の節の手順で通信経路を確認する

500や No response from API のあとに再送するとき、元のメッセージは会話に残っています。長い文章を貼り直さなくても、try again と入力すれば足ります。

それぞれの詳しい背景は、レート制限ガイド、使用量の上限ガイド、ログインできないときのガイド、エラー全般のガイドに分けて説明しています。

会社のネットワークだけで送信できないときは

Unable to connect to API や No response from API が社内ネットワークでだけ出る場合は、通信経路を順に確認します。まず、Claude Codeを起動したのと同じシェルで、APIのホストへの到達状況を確認します。

curl -I https://api.anthropic.com

ここで届かない場合について、公式ドキュメントはよくある原因として、インターネットに接続できていない、VPNが api.anthropic.com を遮断している、必要な社内プロキシを設定していない、を挙げています。社内プロキシが必要な環境では、Claude Codeを起動する前に環境変数 HTTPS_PROXY を設定します。

curl は届くのにClaude Codeだけが失敗する場合は、環境変数 ANTHROPIC_BASE_URL が残っていないかを確認します。この変数が設定されていると、Claude Codeはモデルへのリクエストを api.anthropic.com ではなくその宛先に送ります。すでに動いていないローカルのプロキシやゲートウェイを指したままだと、curl が届いても Connection refused になります。シェルの設定ファイルやClaude Codeの設定ファイルから削除し、新しいターミナルで起動し直してください。

通信内容を検査する社内のTLSプロキシを経由している場合、公式ドキュメントでは、そのルート証明書がOSの信頼ストアに入っていて実行環境から読めれば追加の設定は不要とされています。証明書の検証に失敗したときは自動リトライされず、最初の試行でエラーが表示されます。プロキシや証明書の設定はネットワークエラーガイドで詳しく扱っています。

固まって入力も受け付けないときはどうするか

画面が反応しない場合、公式ドキュメントの手順は次の順番です。

  1. Ctrl+Cを押して、実行中の処理の中断を試みる
  2. それでも反応しなければ、ターミナルを閉じて再起動する

Ctrl+Cは、実行中の処理があればそれを中断します。何も実行していないときは、1回目で入力欄の内容を消し、2回目でClaude Codeを終了します。v2.1.288以降では、入力欄が空のままUpキーを押すと、消した下書きを戻せます。

再起動しても会話は失われません。同じディレクトリで次のコマンドを実行すると、そのセッションを再開できます。

claude --resume

再起動後も同じ症状が続く場合は、プラグイン、MCPサーバー、フックのどれかが原因になっていないかを切り分けます。次のコマンドは、すべてのカスタマイズを無効にしてセッションを起動します。

claude --safe-mode

この状態で症状が出なくなるかを見ることで、カスタマイズが関係しているかを調べられます。

ここまで試しても送信できないときに残すもの

Claude Codeで障害情報がないのにエラーが続く場合、公式ドキュメントは /feedback の実行を案内しています。Anthropicがリクエストの詳細をもとに調査できるようにするためのコマンドです。報告の前に、表示されたエラーの文言をそのまま控え、/doctor の結果、使っているターミナルの種類、社内ネットワークかどうかをメモしておくと、どの節の原因に当たるかを後から判断しやすくなります。

この記事の仕様の説明は、2026年10月18日に参照した公式ドキュメント(ターミナル設定、キー割り当て、対話モード、トラブルシューティング、エラーリファレンス、ネットワーク設定、VS Code拡張の各ページ)を出典にしています。文中のバージョン番号つきの挙動は、更新によって変わることがあります。

Claude Codeのキー割り当てやターミナル設定を、その場の対処だけでなく仕組みから理解したい方は、月額1,980円から参加できる学習コミュニティ「AI駆動ラボ」(lab.no-wave.jp)で継続して学ぶ方法もあります。