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.ai
Claude.ai/2026-04-04初級

Claude が応答しない・止まるとき — 原因の見分け方と、すぐ効く対処

Claude が応答しない・止まる原因を、ブラウザ側とAPI側に切り分けて診断する方法をまとめました。待つべきとき・リロードすべきとき・コードを直すべきときの判断軸と、タイムアウトや再試行の実装例まで解説します。

claude8troubleshooting61not-respondingtimeout8error15

個人開発の傍らで、Claude API を使って複数サイトの下書きを自動生成するパイプラインを毎日動かしています。長時間にわたって Claude を走らせ続けていると、「応答が返ってこない」「処理が途中で止まる」場面に何度も出くわします。最初のころは、原因を切り分けないまま、そのたびに闇雲にリロードしていました。

ですが原因は数種類しかなく、しかも見分け方さえ分かれば対処はあっという間です。大切なのは「待てば解決すること」と「自分で直さないと永遠に解決しないこと」を取り違えないこと。ここでは、その切り分けを軸に整理します。

まず「どこで止まっているか」を切り分ける

応答がないと一括りにしてしまいがちですが、止まっている場所によって対処はまったく変わります。最初に自分がどちらの状況かを判断してください。

  • ブラウザ/アプリで使っている(claude.ai やデスクトップ版)→ 待つ・リロード・キャッシュなど、手元の操作で直ることがほとんど
  • API を自分のコードから叩いている → タイムアウトや再試行など、コード側の作り込みで直す

この二つを混同すると、「コードを直すべき場面でブラウザを再起動し続ける」といった遠回りに陥ります。順に見ていきます。

ブラウザ・アプリ側:止まったときの確認順序

手元のアプリで応答が来ないときは、上から順に試すと早く切り分けられます。

1. まず数十秒待つ。 これがいちばん見落とされます。短い返答なら10〜30秒、長い文章や大きなコンテキストの読み込みなら数分かかることもあります。プログレス表示が動いているなら、たいてい処理は進んでいます。

2. 別のサイトを開いて回線を確認する。 自分の通信が切れているだけ、ということは意外と多いものです。

3. ページをリロードする。 一時的な描画の不具合は、これで直ることが多いです。会話は保存されているので消えません。

4. シークレットウィンドウで開く。 直ったなら、原因は拡張機能です。広告ブロッカーやスクリプト制御系の拡張が、応答の表示を止めていることがあります。

5. キャッシュをクリアする。 上記で直らないときの最後の手段です。古いスクリプトが残っていると、画面が更新されないことがあります。

6. ステータスページを見る。 ここまでで直らなければ、自分側ではなくサービス側かもしれません。Anthropic Status で障害情報を確認してください。

ピーク時間帯も覚えておくと役立ちます。複数サイトのスケジュール投稿を運用していて実感するのは、日本時間の夜(おおよそ19〜23時)は混みやすく、早朝6〜9時は明らかに軽いということです。重い処理は時間帯をずらすだけで体感が変わります。

API 側:コードで止まる原因と直し方

自分のプログラムから Claude API を呼んでいて応答が返らないときは、ブラウザの操作では何も解決しません。原因はだいたい次の3つに集約されます。

タイムアウトが短すぎる

長いコンテキストや複雑な推論は、応答に時間がかかります。HTTP クライアント側の既定タイムアウトが短いと、まだ生成中なのに自分のコードが先に諦めてしまいます。SDK のタイムアウトを明示的に延ばしてください。

import anthropic
 
# 既定より長めにタイムアウトを設定する
client = anthropic.Anthropic(timeout=120.0)
 
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    messages=[{"role": "user", "content": "長文の要約をお願いします ..."}],
)

「止まっている」ように見えて、実は自分のタイムアウトで切っていた——というのが、私が最初にやった勘違いでした。

長い応答で待ち時間が読めない

返答が長くなるほど、最後の一文字まで待たされます。途中で本当に止まったのか、まだ生成中なのかを見分けるには、ストリーミングが有効です。トークンが流れてくるかどうかで「生きているか」がすぐ分かります。

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    messages=[{"role": "user", "content": "詳しく説明してください ..."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

文字が一切流れてこないなら接続側の問題、流れているなら単に長いだけ、と判断できます。

厄介なのは、最初は流れていたトークンが途中でぱたりと止まる場合です。接続そのものは生きているのにデータだけ来ない、という状態は、全体のタイムアウトだけでは捕まえきれません。最後にトークンを受け取ってからの経過時間を別のタイマーで見張り、動きが止まったらストリームを閉じてやると、この「無言のハング」を早い段階で断ち切れます。

import threading
import anthropic
 
client = anthropic.Anthropic(timeout=120.0)
 
def stream_with_idle_watchdog(messages, idle_limit=30.0):
    """最後の受信から idle_limit 秒動きがなければストリームを閉じる"""
    chunks = []
    with client.messages.stream(
        model="claude-sonnet-4-6",
        max_tokens=4096,
        messages=messages,
    ) as stream:
        def on_idle():
            stream.close()  # ブロックしている反復を解除する
        timer = threading.Timer(idle_limit, on_idle)
        timer.start()
        try:
            for text in stream.text_stream:
                timer.cancel()
                chunks.append(text)
                timer = threading.Timer(idle_limit, on_idle)
                timer.start()
        finally:
            timer.cancel()
    return "".join(chunks)

全体のタイムアウトが「生成が長すぎる」を捉えるのに対して、このアイドル監視は「流れが途切れた」を捉えます。役割が別なので、両方を持っておくと、止まったのか待てばよいのかの判断を機械に任せられます。私自身のパイプラインでも、夜間バッチで稀に起きる途中停止は、この二段構えでほぼ手放しになりました。

一時的なエラーで再試行していない

混雑時の 429(レート制限)やサーバー側の 5xx は、少し待って投げ直せば通ることがほとんどです。逆に 400 系(リクエストの誤り)は何度投げても通らないので、すぐ止めて原因を直す必要があります。この区別を入れておくと、止まったように見える現象の多くが自動で解消します。

import time
import anthropic
 
client = anthropic.Anthropic(timeout=120.0)
 
def create_with_retry(**kwargs):
    for attempt in range(4):
        try:
            return client.messages.create(**kwargs)
        except anthropic.RateLimitError:
            wait = 2 ** attempt  # 1, 2, 4, 8 秒と待ち時間を伸ばす
            time.sleep(wait)
        except anthropic.InternalServerError:
            time.sleep(2 ** attempt)
        except anthropic.BadRequestError:
            raise  # 400 系は再試行せず即座に止める
    raise RuntimeError("再試行の上限に達しました")

私のパイプラインでも、夜間にまとめて動かすと 429 がときどき出ます。この指数バックオフを入れてからは、手で再実行することがほとんどなくなりました。

「待つべき」か「直すべき」かの早見表

迷ったときは、この基準で判断してください。

  • プログレスが動いている/トークンが流れている → 待つ(正常です)
  • ブラウザで固まった・拡張を入れている → リロード/シークレットで確認
  • 自分のコードで一定時間後に必ず切れる → タイムアウトを延ばす
  • 混雑時間に断続的に失敗する → 再試行(バックオフ)を入れる
  • 400 系のエラーが返る → 待っても無駄。リクエストを直す

次の一歩

もし API を自分のコードから使っているなら、今日はまずタイムアウトの明示と、4295xx への指数バックオフだけ入れてみてください。この二つだけで、「止まった」と感じる場面の大半は静かに消えていきます。

私も最初はリロードを連打していた側でした。同じ回り道をしている方の手間が、少しでも減れば嬉しいです。

シェア

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

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

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

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

関連記事

Claude.ai2026-04-19
「カードが拒否されました」— Claudeの支払いエラーを種類別に解決する
ClaudeのProプラン更新時に「カードが拒否されました」エラーが出た場合の対処法を、原因別に整理しました。カード会社側とAnthropicサイドの問題を切り分け、3Dセキュアやデビット・プリペイド特有のつまずきまで含めて解決できます。
Claude.ai2026-04-09
Claudeの出力が意図と違う・おかしい:原因と解決方法まとめ
Claudeの回答が期待と違う、的外れ・ハルシネーション・フォーマット崩れなど「出力がおかしい」と感じたときの原因と具体的な解決手順を徹底解説します。
Claude Code2026-04-24
Claude が「応答が未完了です」で止まる — 症状別の原因特定と復旧手順
Claude の会話が途中で切れて「応答が未完了です」「Try stopping」と表示される症状の原因を切り分け、ネットワーク・コンテキスト・ツール実行の3つの観点から順番に復旧する手順をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →