Error: Streamable HTTP error: Error POSTing to endpoint: <html> が出るときに見えていたものこの症状は、少なくとも今回渡された issue 群では、Claude Code が POST 先の endpoint に対して返ってきた HTML の 502 Bad Gateway をそのままエラーとして見せている場面でした。報告はどちらも同じ文字列を含んでいます。
該当 issue は #87221 と #86687 です。
まず切り分けたいのは、あなたの画面に出ているのが「Claude Code 側の操作ミス」ではなく、POST の先で 502 Bad Gateway が返っているケースかどうかです。今回の報告では、エラーメッセージの中に次の HTML が含まれていました。
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>openresty</center>
<p><em>
この時点で分かるのは、少なくとも画面上は Claude Code が受け取った応答をそのまま表示している、ということです。どの層が 502 を返したのかまでは、この材料だけでは断定できません。openresty の文字はありますが、これだけで原因を特定するのは無理です。
報告内容のうち、症状の出方として手がかりになるのは #87221 のほうです。そこで挙げられていた再現可能な要素は、subagent_type: "fork" の分岐です。Issue タイトルも「sub-agent fork context inheritance causes excessive token consumption and unresumable transcripts」で、サブエージェントの fork に関係する挙動が中心でした。
一方で #86687 は、Opus 5 (1M context) の safeguards がメッセージをフラグした、という別の文脈の報告です。そこでも結果として同じ 502 Bad Gateway を伴う Streamable HTTP error が出ています。つまり、見えているエラー文字列は同じでも、トリガーは一つとは限りません。
実際に今回の issue 群で確認できたのは、少なくとも次の2点です。ひとつは、エラー文字列が Error: Streamable HTTP error: Error POSTing to endpoint: <html> で始まり、本文に 502 Bad Gateway が含まれること。もうひとつは、同じ症状が別の issue でも繰り返し報告され、どちらも closed になっていることです。
ただし、閉じられたことと、手元で同じ症状が今も起きないことは別です。現時点では、根本原因や恒久対処までは、この材料からは分かりません。
手元で確認できる環境情報は次のとおりです。ここから言えるのは、少なくとも検証は Linux 上で行われ、Python は 3.8.13 だった、ということまでです。
[env_summary]
OS : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python : 3.8.13
検証日時 : 2026-09-15T08:51:11+09:00
もしあなたの環境で同じ文言が出るなら、まずは「502 を返している先がある」ことを前提に、どの操作の直後に出るかを見たほうが早いです。今回の issue 群で具体性があったのは、fork 系のサブエージェント操作と、safeguards によるフラグの直後でした。逆に言うと、それ以外の条件ではこの材料だけでは判断できません。
解決策として確実に書けるのはここまでです。少なくとも、今回の公開 issue だけでは「これを設定すれば直る」と裏付けられた手順は見当たりませんでした。なので、同じ症状が出たときは、どの操作直後に発生したかを控え、同じ文字列で #87221 と #86687 を照合するのが実用的です。
OS : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python : 3.8.13
検証日時 : 2026-09-15T08:51:11+09:00