CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-04-14中級

Claude Code がタスク途中で止まった時の安全なリカバリーガイド ── 作業を失わず再開する5つのステップ

Claude Code がタスク途中で止まる・応答しなくなる問題の原因別診断と、git を活用して作業内容を確認しながら安全に再開する実践的な5ステップを解説します。

claude-code129troubleshooting61git16recovery2workflow24

コードの自動修正や大規模なリファクタリングをお願いしている最中、Claude Code が突然止まってしまった経験はないだろうか。「try stopping」ボタンが出てループする、途中で応答が来なくなる、ターミナルがフリーズする——こういった状況で多くの開発者が犯す最大のミスは、何も確認せずにもう一度同じタスクをやり直してよいと頼んでしまうことです。

止まった時点で Claude Code がどこまで作業を終えていたかによっては、同じ変更を二重に適用したり、部分的に完成したコードの上に新しい変更が重なったりして、かえって状況が複雑になります。止まった直後に取るべき行動には正しい順序があります。

なぜ Claude Code はタスクの途中で止まるのか

原因によって対処が変わるため、まず状況を切り分けることが大切です。主なパターンは4つあります。

コンテキストウィンドウの枯渇: 会話履歴とコード変更が積み重なり、扱えるトークン量の上限に達した状態。「continuing...」と表示された後に止まる、あるいは突然応答が途切れる場合はこれが多いです。Claude Code は /compact コマンドでコンテキストを圧縮できるが、それでも長時間の大規模タスクでは上限に当たる。

レート制限: API 経由で使っている場合や Max プランで集中的に作業している場合に発生します。エラーメッセージに「429」や「overloaded」が含まれていればこれ。数分待てば回復することが多いです。

ツール実行の失敗: Bash ツールでコマンドがタイムアウトした、権限エラーが出た、あるいは無限ループするスクリプトを呼んでしまった場合。Claude Code がツール結果を受け取れずにハングします。

ネットワーク切断: VPN の再接続やスリープからの復帰後に接続が切れているケース。この場合は Claude Code を再起動すれば解決します。

原因に関わらず、最初にやることは共通しています。

ステップ1:止まった直後に git status を確認する

Claude Code が停止したら、まず何も操作せずに ターミナルを開いて以下を実行します。

# 変更されたファイルの一覧を確認
git status
 
# 期待する出力例(変更が途中まで行われていた場合)
# On branch feature/refactor-auth
# Changes not staged for commit:
#   modified:   src/auth/login.ts
#   modified:   src/auth/session.ts
#
# Untracked files:
#   src/auth/types.ts

この出力だけで「Claude Code がどこまで手をつけたか」がわかる。変更されたファイルが git status に出ていれば、それらへの書き込みは完了しています。逆に nothing to commit であれば、Claude Code はまだ変更を開始する前に止まったか、またはスクラッチからやり直しても安全という意味です。

重要なのは、git status を確認する前に Claude Code を再起動しないこと。再起動すると会話履歴が消え、「どこまで依頼したか」の文脈を失ってしまう。

ステップ2:git diff で何が完了しているかを把握する

変更ファイルが確認できたら、次は中身を見ます。

# ステージング前の変更内容をすべて表示
git diff
 
# 特定のファイルだけ確認したい場合
git diff src/auth/login.ts

git diff の出力を眺めて、以下を判断します。

  • 変更は論理的にまとまっているか(完結しているように見えるか)
  • 途中で切れているコードブロックや、閉じられていない関数がないか
  • 変更前の状態(- 行)と変更後の状態(+ 行)は整合しているか

コンパイルエラーや明らかなシンタックスエラーがある場合は、Claude Code が途中で止まったせいで不完全な状態になっている可能性が高いです。

# TypeScript プロジェクトであればコンパイルチェック
npx tsc --noEmit
 
# Python であれば構文チェック
python -m py_compile src/auth/login.py

ここでエラーが出なければ「途中で止まったが、完了した範囲は正常」と判断できます。

ステップ3:状態によって再開パターンを選ぶ

状況確認が終わったら、3つのパターンのどれで再開するかを決める。

パターンA:変更が途中で止まっており、不完全な場合

まず変更を安全な状態に戻す。

# 変更を破棄して元の状態に戻す(git管理下のファイルのみ)
git checkout .
 
# 追跡されていない新規ファイルも削除する場合
git clean -fd

クリーンな状態に戻してから、Claude Code を再起動して同じタスクを依頼します。ただし今度は「大きなタスクを小さく分割して依頼する」という後述の方法を使います。

パターンB:変更は完了しているが、Claude Code がその後の作業(テスト実行など)で止まった場合

変更はそのままにして、「ここまでは完了しています。次のステップ(テストの実行)から再開してください」と文脈を与えて再依頼します。

# 現在の変更内容をワークインプログレスコミットとして保存
git add -A
git commit -m "WIP: auth refactor (partial - session.ts remaining)"

コミットしておくことで、再開後に Claude Code がさらに変更を加えても履歴が追いやすくなります。

パターンC:変更は完全に完了しているが、最後の応答が来なかった場合

テスト結果の確認やコードレビューのフィードバックをもらおうとした時に止まったケース。変更自体は問題ないため、そのまま変更をコミットして次のステップに進んでよい。

ステップ4:/compact コマンドで長いセッションを管理する

コンテキスト枯渇が原因で止まる場合は、長いタスクに入る前に /compact を使えば発生頻度を下げられます。

# Claude Code のチャット欄で実行
/compact

/compact は現在の会話履歴を要約して圧縮し、利用可能なコンテキスト容量を回復させる。完全にリセットするわけではなく、作業状態の要約は維持されるため、途中で呼んでも作業の文脈が消えることはありません。

目安として、会話が30〜40往復を超えてきたと感じたら、次の大きなサブタスクに移る前に /compact を挟む習慣をつけると止まる頻度が下がる。

また、コンテキストの消費を抑えるには、Claude Code に「変更したファイルの diff のみ出力する」「確認を省略して変更のみ適用する」といった指示をするのも有効です。

# 余分な説明を省いてコンテキストを節約する指示の例
「変更内容の説明は不要です。ファイルを直接編集してください。完了したらコミットしてください。」

コンテキスト最適化の詳細についてはClaude Code のトークン消費を半分に減らす実践テクニックも参考にしてほしい。

ステップ5:中断を前提にした「チェックポイント作業術」

大規模なタスクは途中で止まることを前提にして、作業を小さな単位に分割して依頼するのが現実的です。

悪い依頼の例(一度に全部頼む):

「src/ 以下の全コンポーネントを TypeScript の strict モードに対応させ、
 テストを書き、CI の設定も更新して、README も修正してください」

良い依頼の例(チェックポイントを挟む):

ステップ1: 「src/components/ 以下のファイルを strict モード対応にしてください。
            完了したらコミットして報告してください」

(完了・確認・コミット)

ステップ2: 「src/pages/ 以下を対応させてください。完了したらコミットしてください」

(完了・確認・コミット)

ステップ3: 「対応完了したコンポーネントのユニットテストを書いてください」

各ステップでコミットを挟むことで、途中で止まっても「どこまで完了したか」が git ログから明確にわかる。また、コミットのタイミングで自分が変更を確認するため、予期しない変更に早期に気づける。

個人的には「1タスク = 1コミット = 10〜20ファイル以内」を目安にしています。これを超えると止まった後のリカバリーが複雑になります。

ツールのタイムアウトが原因で止まるケースにはClaude Code の Bash ツール実行エラーを解決する完全ガイドも参照してほしい。

全体を振り返って

Claude Code がタスク途中で止まった時のリカバリーは、焦って再実行するより、git statusgit diff の順で現在地を把握してから動くのが鉄則です。止まった原因(コンテキスト枯渇・レート制限・ツールエラー・ネットワーク)によって対処も変わるが、変更の状態を確認してから判断するという基本は共通しています。

チェックポイント作業術を習慣にするだけで、途中停止への耐性が格段に上がる。止まることを「失敗」ではなく「作業の区切り」として受け入れる設計で Claude Code を使いこなしてほしい。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-06-10
git add -A が .bak バックアップまで巻き込む — in-place 修正スクリプトと自動コミットの落とし穴
sed -i や自作の --fix スクリプトが残す .bak バックアップを git add -A が無言で取り込み、本番リポジトリに混入させてしまう問題。なぜ気づきにくいのか、scoped add と .gitignore でどう塞ぐかを実例で整理します。
Claude Code2026-06-03
Claude Code で git push が「成功」したのに反映されない — commit が無音で失敗する罠
git push がエラーを出さず Everything up-to-date と表示されるのに、変更がリモートに反映されない。clone 直後の identity 未設定で commit が無音失敗する原因と、SHA 照合で確実に検証する方法を解説します。
Claude Code2026-06-01
Claude Code から git push すると 403 Write access to repository not granted が出るときの対処
Claude Code の自動化で GitHub に push すると 403『Write access to repository not granted』が出る原因を、classic PAT と fine-grained PAT の違いから整理し、リポジトリアクセス・Contents 権限・組織承認の確認手順を解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →