CLAUDE LABEN
SUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日です。残り2日となりましたLATEST — 最新は8月13日の v2.1.231 です。事前登録済み OAuth クライアントを使う MCP サーバーでのサインイン失敗が直っていますRESUME — 8月12日の v2.1.229 で、`claude remote-control --continue` により直近の Remote Control セッションを再開できるようになりましたSTREAM — 長い思考の待ち時間にストリーミングが idle timeout で切れる問題に対し、SSE の keepalive ping が追加されました。Vertex・Bedrock 構成で効きますSELFHOST — 8月7日の v2.1.224 で `claude self-hosted-runner` コマンドが加わり、セルフホスト環境を扱えるようになっていますMCP — MCP SDK の月間ダウンロードが4億回を超えました。今年に入って4倍で、コネクタディレクトリのサーバーは950本を上回りますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日です。残り2日となりましたLATEST — 最新は8月13日の v2.1.231 です。事前登録済み OAuth クライアントを使う MCP サーバーでのサインイン失敗が直っていますRESUME — 8月12日の v2.1.229 で、`claude remote-control --continue` により直近の Remote Control セッションを再開できるようになりましたSTREAM — 長い思考の待ち時間にストリーミングが idle timeout で切れる問題に対し、SSE の keepalive ping が追加されました。Vertex・Bedrock 構成で効きますSELFHOST — 8月7日の v2.1.224 で `claude self-hosted-runner` コマンドが加わり、セルフホスト環境を扱えるようになっていますMCP — MCP SDK の月間ダウンロードが4億回を超えました。今年に入って4倍で、コネクタディレクトリのサーバーは950本を上回ります
記事一覧/API & SDK
API & SDK/2026-08-15中級

長考の途中で切れる接続は、上流ではなく中継が作っています

自作プロキシや Worker を挟んだ途端、Claude Code が長い思考の最中に切断される。原因は上流でもモデルでもなく、中継がバイトの流れを止めていることにあります。6通りの中継を並べて切り分け、本番に入れる前に確かめる手順まで整理しました。

Claude Code219SSE5ストリーミング10ゲートウェイプロキシCloudflare Workers15タイムアウト2

プレミアム記事

短い依頼なら何度投げても通るのに、少し考え込む依頼だけが決まって途中で落ちる。しかも上流のログにはエラーが一行も残っていない。

自前の中継を一枚挟んだ構成で、この形の不調に出くわしたことはないでしょうか。私も、エッジで動く小さな中継を書いたあとで似た症状を踏みました。最初に疑ったのはモデル側の不安定さでしたが、結論から言えば見当違いで、止めていたのは自分が書いた数行のほうでした。

厄介なのは、この故障が「重い処理のときだけ」現れることです。動作確認は短いプロンプトで済ませてしまいがちなので、テストは全部通り、本番で長考が始まった日に初めて落ちます。

先に結論を書きます

切断の判定は、応答が失敗したかどうかではなく、一定時間バイトが一つも届かなかったかどうかで行われています。

Claude Code は、ANTHROPIC_BASE_URLANTHROPIC_AWS_BASE_URL 経由の接続について、ゲートウェイが中継したバイトを数えています。SSE の ping イベントもコメント行も等しく1バイトとして数え、既定では 300秒 のあいだ完全に無音だったストリームを打ち切ります。これは公式のゲートウェイプロトコル仕様に明記されている挙動です。

そして長い思考のあいだ、回線を流れている唯一のトラフィックが上流の keep-alive ping です。つまり中継がその ping を落とすか、溜め込んで後でまとめて流すかした瞬間に、クライアントから見た回線は「無音」になります。上流は正常に喋り続けているのに、です。

2026年8月12日の v2.1.229 では、ゲートウェイのストリーミング応答に SSE keepalive ping が追加され、Vertex や Bedrock を上流に置いた構成での idle timeout 切断が改善されました。同じリリースで、ping が確かに届いているにもかかわらずカスタム ANTHROPIC_BASE_URL 側で idle timeout が発火する不具合も直っています。上流の改善は入りました。残っているのは、自分が書いた中継のほうです。

番犬は「意味」ではなく「バイト」を見ています

ここが最初のつまずきどころでした。私は当初、クライアントが「ping イベントを受け取ったかどうか」を見ていると思い込んでいました。実際にはもっと素朴で、届いたバイト数しか見ていません。

この素朴さには両側に刃があります。ping という形をしていなくても、何かバイトが流れていれば時計は戻ります。逆に、意味のある ping を正しく送っていても、中継が握って離さなければ時計は進み続けます。

さらに、接続に使う環境変数によって監視の仕組みそのものが入れ替わります。ここを混同すると、対策を打った経路と実際に切れている経路がずれます。

接続に使う変数監視の仕組み無音時の既定
ANTHROPIC_BASE_URL / ANTHROPIC_AWS_BASE_URLバイト単位のウォッチドッグ(コメント行も計上)300秒で中断
ANTHROPIC_BEDROCK_BASE_URLウォッチドッグの対象外。CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK で追加可能5分のアイドルタイムアウト
ANTHROPIC_VERTEX_BASE_URL / ANTHROPIC_FOUNDRY_BASE_URLウォッチドッグの対象外5分のアイドルタイムアウト

紛らわしいのは、ゲートウェイが Anthropic Messages 形式を喋っていても、クライアント側が ANTHROPIC_BEDROCK_BASE_URL で繋いでいればバイト単位の監視には包まれない、という点です。「形式が同じだから挙動も同じだろう」という推測は、ここでは通りません。切断の相談を受けたときに私が真っ先に聞くのは、モデル名でもリージョンでもなく、どの変数で繋いでいるかです。

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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
長考中の切断が上流・中継・クライアントのどこで起きたのかを、追加のログを仕込まずに切り分けられるようになります
自作のプロキシや Worker を本番に入れる前に、ストリームを溜め込んでいないかを手元で確かめられるようになります
接続に使う環境変数によって監視の仕組みが別物になることを踏まえ、300秒の番犬が効く経路と効かない経路を見分けられるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

API & SDK2026-04-13
Claude API のSSEストリーミングをNext.js App Routerに実装する
Claude APIのServer-Sent EventsストリーミングをNext.js App Routerに実装する方法を解説。ReadableStream・React Hooks・エラーハンドリングまで、実際に動くコードで順を追って説明します。
API & SDK2026-07-26
Mcp-Session-Id を前提にしない MCP サーバーへ — 状態の置き場所を作り直す
MCP仕様の2026-07-28リリース候補でMcp-Session-Idヘッダーの廃止が示されました。自作リモートMCPサーバーのセッション結合を監査スクリプトで数え、状態を三つに仕分けて署名付きカーソルへ移行するまでの実測記録です。移行の順番と旧方式の外し方まで具体的に書いています。
API & SDK2026-07-04
Claude apps gateway の発表を読んで、個人開発の管制面を作り直した話
セルフホスト型 Claude apps gateway の設計を管制面と実行面の分離として読み解き、個人開発の規模に縮約します。アプリ別コスト帰属・モデル許可リスト・fail-closed の支出上限を Cloudflare Workers で実装した記録です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →