この記事の目次
Claude Codeが途中で止まったように見えたら、まず許可を求める画面やスピナーの横に出ている状態表示を読んでください。止まっているのではなく、許可の返事待ち、通信の自動再試行、使用量の上限による待機といった状態のことがあります。反応がない場合は Ctrl+C で中断を試し、それでも反応がなければターミナルを閉じて、同じディレクトリで claude --resume を実行して会話に戻ります。ファイルを止まる前の状態に戻す必要があれば /rewind を使います。ただし /rewind で戻せない変更もあり、公式はチェックポイントをGitの代わりではないとしています。その範囲も後半で示します。
止まったように見えるとき、最初に画面のどこを見ればいいか?
Claude Codeが止まったときに見るのは、許可を求める画面と、スピナー(処理中に回る表示)の横に出る文言です。公式ドキュメントのエラーリファレンスには、表示ごとに意味が書かれています。代表的なものを、次にやることと合わせて並べます。
| 画面の表示 | 起きていること | 次にやること |
|---|---|---|
| ツールの実行やファイル編集の許可を求める画面 | 許可の返事待ち | 内容を読んで許可するか断る |
Retrying in Ns · attempt x/y |
一時的な失敗を自動で再試行中 | 待つ |
Waiting for API response · will retry in … · check your network |
20秒間データが届いていない。まだ失敗ではない | 待つ。毎回出るならネットワークを疑う |
Usage limit reached · limit resets 3:45pm |
使用量の上限に達し、リセット待ち | 下の「使用量の上限」の節を参照 |
… The response above may be incomplete. |
応答の途中で通信が切れた | continue と返す |
Request timed out |
期限内にAPIが応答しなかった | 再試行する。遅いネットワークやプロキシなら設定を見直す |
API Error: No response from API … |
最初の応答が期限内に届かなかった | メッセージを送り直す |
Autocompact is thrashing: … |
大きな出力で文脈が何度も満杯になった | 読み込み方を変える |
Claude Codeは一時的な失敗を、エラーを見せる前に最大10回、間隔を広げながら自動で再試行します。Retrying や Waiting for API response が出ている間は、中断せずに待つのが基本です。試行のたびに Waiting for API response が出続けるなら、ネットワークの問題として扱うよう公式は案内しています。社内プロキシやVPN経由の切り分けはネットワークエラーの記事にまとめています。
API Error: Repeated 529 Overloaded errors はAPI側の混雑で、利用上限ではありません。容量はモデルごとに管理されているため、/model で別のモデルに切り替えれば作業を続けられます。
エラー文言が画面に出ていて、上の表にないものはエラー対処ガイドで文言から引いてください。
応答が途中で切れたとき、continue で続けてよいのはどんな場合か?
応答の途中で通信が切れると、Claude Codeはそこまでに完了した部分を残し、末尾に The response above may be incomplete. を付けます。表示の頭には原因が入ります。たとえば次のような形です。
API Error: Connection lost mid-response. The response above may be incomplete.(接続が切れた)API Error: Your computer went to sleep mid-response. The response above may be incomplete.(PCがスリープした)
丸ごと送り直すと同じツール呼び出し(ファイル編集やコマンド実行)が二重に走るおそれがあるため、Claude Codeはあえて完了分を残します。対話セッションでは、完了したブロックはすべて残り、切れた最後のブロックだけが捨てられます。そのため最後の数文やツール呼び出しが欠けている可能性があります。画面に残った内容を読み、continue と返せば、最後に完了したブロックから続きを書きます。
応答が長すぎて出力トークンの上限で切れた場合は、API Error: Claude's response exceeded the ... output token maximum. という表示になります。対話セッションでは、途中まで書かれていれば continue で続きを頼めます。途中で止まる状態を繰り返す場合は「1ファイルずつ」「1セクションずつ」のように小分けで依頼するのが公式の案内です。
Request timed out の既定のタイムアウトは10分です。公式の対処は再試行で、遅いネットワークやプロキシが原因なら環境変数 API_TIMEOUT_MS を大きくします。No response from API のときは元のメッセージが会話に残っているので、try again と送れば足ります。何度も出るなら、ネットワークかプロキシの問題として切り分けます。
使用量の上限で止まったときは、待つしかないのか?
上限に達すると、You've hit your session limit · resets 3:45pm のような表示が出て、表示されたリセット時刻までリクエストは止まります。
claude.aiのサブスクリプションでログインした対話セッションなら、Claude Code v2.1.234以降はリセット後に自動で作業を続ける機能が既定で有効です。待機中は画面下部に次のように出ます。
Usage limit reached · limit resets 3:45pmContinuing automatically at 3:45pm · esc to cancel
自動で続けてもらうにはセッションを開いたままにしておきます。Claude Codeを終了すると、再開したときに待機は復活しません。もう一つ注意したいのは、自動で続いた作業も許可の確認は通常どおり求める点です。席を外している間に、今度は許可待ちで止まることがあります。
セッション上限と週の上限は全モデル共通なので、モデルを替えても戻りません。OpusやSonnetのモデル別の上限で止まった場合は、/model でその系統以外のモデルに切り替えれば作業を続けられます。プランの上限とリセット時刻は /usage で確認できます。
上限の種類ごとの違いは使用制限の記事、セッション制限の記事、レート制限の記事で扱っています。
何も表示されずに固まったときは、どの順で中断すればいいか?
Claude Codeが止まったときの公式のトラブルシューティングが示す順序は次の2段階です。
Ctrl+Cを押して、実行中の処理の中断を試す- それでも反応がなければ、ターミナルを閉じて再起動する
これとは別に、Esc も通常の中断操作として使えます。Esc は応答やツール呼び出しを途中で止め、それまでの作業を残します。ただし許可を求める画面が出ているときに Esc を押すと、その操作を断ったことになります。Ctrl+C は、何も実行していない状態で押すと1回目で入力欄を消し、2回目でClaude Code自体を終了します。押しすぎに気をつけてください。
ターミナルを閉じても会話は失われません。セッションは作業中もローカルに継続して保存されているためです。同じディレクトリで次のどちらかを実行すれば作業を再開できます。
claude --continue
claude --resume
claude --continue は今いるディレクトリの直近のセッションを開き、claude --resume は一覧から選ぶ画面を開きます。起動時に --mcp-config や --settings、--add-dir などのフラグを付けていた場合、それらは引き継がれないので、再開時にもう一度付けます。
Claude Codeは、Bashコマンドがタイムアウトに達すると止めずにバックグラウンドへ移します(sleep で始まるコマンドは除く)。自分で移したいときは Ctrl+B を押します(tmuxでは2回)。動いているシェルやサブエージェントは /tasks で確認できます。
セッションのヒープメモリが2.5GBを超え、メモリ使用量の重大な警告が出た場合も、再起動して claude --continue で会話を新しいプロセスに移します。
原因の見当がつかないときは、Claude Codeの中で /doctor を実行すると、インストール・設定・拡張機能・コンテキストの使用量を自動で点検します。claude 自体が起動しない場合はシェルから実行します。
claude doctor
プラグイン、MCPサーバー、フックのどれかが原因かを確かめたいときは、そのセッションに限ってすべてのカスタマイズを無効にして起動します。
claude --safe-mode
Autocompact is thrashing は、大きなファイルやツール出力が文脈を何度も満杯にしたため再試行を止めた状態です。ファイルを行範囲や関数単位で読ませる、/compact keep only the plan and the diff のように焦点を付けて圧縮する、といった対処が公式に挙がっています。文脈の仕組みはコンテキストウィンドウの記事で扱っています。
再開する前に、途中まで書き換わったファイルをどう確かめるか?
中断や再起動のあとは、まずファイルの状態を確かめてから作業を続けます。
再開したセッションでは、前のプロセスが終わったときに実行中だったツールは、完了もせず、自動で再実行もされません。Claude側にはその呼び出しが途中で切れたと示され、実際に効果があったかを確かめてから再実行するよう指示が入ります。ただし、バックグラウンドで動いていたBashコマンドは再開時に復元されません。
ファイルを止まる前の状態に戻したいときは、チェックポイント機能を使います。Claude Codeの入力欄で /rewind を実行するか、入力欄が空の状態で Esc を2回押すと、巻き戻しメニューが開きます。
メニューでは、自分が送ったプロンプトの一覧から戻したい地点を選び、次のどれかを選びます。
- Restore code and conversation: コードと会話の両方をその時点に戻す
- Restore conversation: コードはそのままで、会話だけ戻す
- Restore code: 会話はそのままで、ファイルの変更だけ戻す
チェックポイントは、ターンを始めるプロンプトを送るたびに作られ、1セッションで直近100件分のスナップショットが保持されます。会話と一緒に保存されるため、claude --resume で戻ったあとでも /rewind は使えます。スナップショットは、そのセッションが最後にファイルスナップショットを保存してから既定で約30日後に、定期的な整理で削除されます。
巻き戻しで元の状態に戻らない変更もあります。
- Bashコマンドで行った変更(ファイルの削除・移動・コピーなど)は追跡されない
- サブエージェントによる編集は、通常チェックポイントに入らない。公式はGitで戻すよう案内している
- Claude Codeの外で手作業で変えた変更や、別セッションの変更も、通常は対象外
公式も、チェックポイントはセッション内の素早い復旧用で、Gitの代わりではないと位置づけています。Gitでの変更の確認方法はGit連携の記事にまとめています。
許可待ちに気づかず放置しないためには、何を設定すればいいか?
止まったと思ったら許可の返事待ちだった、という状況は、通知で減らせます。Claude Codeのフックには Notification イベントがあり、Claudeが入力や許可を待っているときに発火します。
公式の説明では、通知の種類ごとに発火のタイミングが決まっています。
permission_prompt: ツールの使用などの許可を求める画面が約6秒待ったときidle_prompt: Claudeが応答を終えて約60秒たち、その間に入力がないとき
公式のhooksガイドには、~/.claude/settings.json に Notification フックを追加してデスクトップ通知を出す例があります。書き方はhooksの記事で扱っています。そもそも確認の頻度を変えたい場合は、権限モードの記事で、どのモードでどこまで確認が入るかを整理しています。
公式の記述で変わりうるのはどこか?
Claude Codeは表示文言をバージョンごとに変えてきました。たとえばv2.1.227より前は、Connection lost mid-response が Connection closed mid-response と表示されていました。画面の文言が記事と少し違う場合は、手元のバージョンを確かめたうえで、公式のエラーリファレンスで同じ節を引いてください。リセット後の自動継続(v2.1.234以降)のように、機能そのものがバージョンで決まるものもあります。
止まるたびに調べ直すのではなく、Claude Codeの動きを理解して自分で切り分けられるようになりたい方には、月額1,980円から参加できる学習コミュニティ「AI駆動ラボ」で生成AIのツールの使い方を継続して学べます。