◉CLAUDE LABEN
●2.1.285 — Claude Code 2.1.285(9月29日)。CLAUDE_CODE_DISABLE_WEB_FETCH で WebFetch を止め、claude --desktop で今のディレクトリをデスクトップ版で開けます●SONNET5.5 — 2.1.284 で claude-sonnet-5-5 が API の既定 Sonnet に。1M コンテキスト、$2 / $10 per Mtok、キャッシュ読み取り $0.20●10/07 — Claude Desktop / Cowork の管理構成キー旧綴りの受付終了まで残り7日。締切後は fail-closed で読み込まれません●WINDOWS — 「デスクトップ版が再起動に失敗する」「常に最前面に居座る」という Windows の問いが Issue で続いています。設定より先に孤立プロセスを疑う話●NEW — 安定版の Claude Code には、二度の既定モデル交代がまだ届いていません●BING — 28日で bing 経由 1,055 セッション、4週連続増。読まれているのは課金トラブル・Academic プラン・Figma MCP・PowerShell の4系統●2.1.285 — Claude Code 2.1.285(9月29日)。CLAUDE_CODE_DISABLE_WEB_FETCH で WebFetch を止め、claude --desktop で今のディレクトリをデスクトップ版で開けます●SONNET5.5 — 2.1.284 で claude-sonnet-5-5 が API の既定 Sonnet に。1M コンテキスト、$2 / $10 per Mtok、キャッシュ読み取り $0.20●10/07 — Claude Desktop / Cowork の管理構成キー旧綴りの受付終了まで残り7日。締切後は fail-closed で読み込まれません●WINDOWS — 「デスクトップ版が再起動に失敗する」「常に最前面に居座る」という Windows の問いが Issue で続いています。設定より先に孤立プロセスを疑う話●NEW — 安定版の Claude Code には、二度の既定モデル交代がまだ届いていません●BING — 28日で bing 経由 1,055 セッション、4週連続増。読まれているのは課金トラブル・Academic プラン・Figma MCP・PowerShell の4系統
記事一覧/API & SDK
⬡ API & SDK/2026-08-15中級

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

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

Claude Code259SSE6ストリーミング10ゲートウェイプロキシCloudflare Workers16タイムアウト3

✦ プレミアム記事

エッジで動く小さな中継を書き上げた、その翌週の夜のことです。短い依頼なら何度投げても通るのに、少し考え込む依頼だけが決まって途中で落ちます。しかも上流のログを開いても、エラーは一行も残っていませんでした。

自前の中継を一枚挟んだ構成で、この形の不調に出くわしたことはないでしょうか。私が最初に疑ったのはモデル側の不安定さでしたが、いま思えば見当違いで、止めていたのは自分が書いた数行のほうでした。

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

先に結論を書きます

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

Claude Code は、ANTHROPIC_BASE_URL や ANTHROPIC_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/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-08-19
サーバーレスに置いた MCP サーバーで、listen ストリームが張り直され続けていました
エラーは何も出ていないのに、MCP サーバーへの接続だけが増え続ける。固定タイムアウトで切られるストリームと再購読が噛み合ったときの挙動を、最小の再現コードで確かめました。
⬡ API & SDK2026-04-13
Claude API のSSEストリーミングをNext.js App Routerに実装する
Claude APIのServer-Sent EventsストリーミングをNext.js App Routerに実装する方法をまとめました。ReadableStream・Reactフック・チャンク境界のバッファリング・エラーの取りこぼしまで、実測を添えて順に説明します。
⬡ API & SDK2026-07-26
Mcp-Session-Id を前提にしない MCP サーバーへ — 状態の置き場所を作り直す
MCP仕様の2026-07-28リリース候補でMcp-Session-Idヘッダーの廃止が示されました。自作リモートMCPサーバーのセッション結合を監査スクリプトで数え、状態を三つに仕分けて署名付きカーソルへ移行するまでの実測記録です。移行の順番と旧方式の外し方まで具体的に書いています。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます