兩則訊息都表示模型的串流答案在完成前停止。「上方回應可能不完整」是在部分答案已到達後串流停滯、中斷或損壞時印出的;Claude Code 會保留已到達的內容,而回覆 continue 會從該回合繼續。「串流回應在收到任何完整資料前結束」表示完全沒有可用資料到達,因此 Claude Code 會在不使用串流的情況下重試相同請求;如果這種情況持續發生,通常原因是 Claude Code 與模型提供者之間的代理伺服器或閘道,正如訊息本身所述。
錯誤
API Error: Response stalled mid-stream. The response above may be incomplete.
# the wording in Claude Code's current error reference for the same stall:
API Error: The response stopped arriving. The response above may be incomplete.
# when nothing complete arrived at all:
Streaming response ended before any complete data was received. Retrying without
streaming. If this keeps happening, check any proxy or gateway between Claude Code
and your model provider.原因與解決方法一覽
| 原因 | 解決方法 |
|---|---|
| 連線仍保持開啟,但停止傳送資料,Claude Code 的串流閒置監控器因此中止了連線 | 回覆 continue。如果在您的連線中長時間停頓是合理情況,請提高 CLAUDE_STREAM_IDLE_TIMEOUT_MS,而不要關閉監控器。 |
| 連線中斷、電腦進入睡眠,或伺服器在回應途中傳回錯誤 | 回覆 continue;已完成的答案部分會保留。如果問題重複,請檢查 VPN、Wi-Fi 交接與睡眠設定。 |
| 中間的代理伺服器或閘道緩衝、截斷或拒絕了串流——例如請求主體超過其大小限制 | 先測試一次不經過它。提高代理伺服器的主體大小限制與讀取逾時,並關閉 API 路由的回應緩衝。 |
| 問題在 Claude Code 升級後立即開始 | 在 /status 中記下版本。2026 年 7 月的一份報告測得,在同一台機器上,2.1.210 的停滯訊息比例為 0%,2.1.217–2.1.218 則為 3.0–4.4%。 |
先回覆 continue
Claude Code 會保留故障前已完成的文字與工具呼叫,並附加通知。在互動式工作階段中,讀取已到達的內容並回覆 continue:該回合會從那裡繼續。在非互動式執行(claude -p)中,Claude Code 會先印出最後一個已完成的文字區塊,再印出通知;恢復該工作階段並傳送 continue。若只發生一次,無需變更其他設定。
辨別不同訊息
Claude Code 的錯誤參考資料依原因列出不完整回應的措辭:回應途中發生伺服器錯誤、回應途中連線遺失、電腦在回應途中進入睡眠、回應停止到達(停滯)、部分回應未到達,以及回應串流格式錯誤。2026 年 7 月的報告引用了停滯問題的舊措辭「Response stalled mid-stream」。另一則獨立訊息「Streaming response ended before any complete data was received」表示沒有任何完整資料到達,因此 Claude Code 會在不使用串流的情況下重試,而不是保留部分答案。
調整監控器,不要停用它
Claude Code 使用四個計時器,在串流停止傳輸時中止串流,讓失效的連線回報失敗並重試,而不會一直卡住:首位元組接收期限、事件層級看門狗(300 秒)、位元組層級看門狗(直接使用 Anthropic API 時為 180 秒,其他情況為 300 秒,包括使用自訂 ANTHROPIC_BASE_URL),以及部分供應商提供的五分鐘回應本文閒置逾時。CLAUDE_STREAM_IDLE_TIMEOUT_MS 會設定這兩個看門狗;低於五分鐘的值會調高至五分鐘,而位元組層級看門狗的上限為 30 分鐘。請將它放在 settings.json 的 env 區塊中,讓背景代理也能套用:
{
"env": {
"CLAUDE_STREAM_IDLE_TIMEOUT_MS": "600000"
}
}位於代理伺服器或閘道後方時,先不經過它測試
當不使用串流重試的訊息重複出現時,先將中間的連線跳點移除一次:在單一工作階段取消設定 HTTPS_PROXY,或設定 NO_PROXY="*",然後執行相同任務。如果問題停止,該跳點就是原因。常見原因包括長工作階段逐漸超過的請求主體大小限制、將即時串流轉為長時間沉默的回應緩衝,以及短於模型思考停頓時間的讀取逾時。請注意,當 ANTHROPIC_BASE_URL 指向閘道時,第一位元組期限不會執行,但位元組層級監控器會執行。
如果你透過 Kunavo 呼叫
Kunavo 是該訊息所指的閘道之一,因此這就是它在 /v1/messages(Claude Code 呼叫的端點)上的行為。上游串流會被延後,直到產生第一個內容事件;在此之前發生的上游錯誤或空串流會使此次嘗試失敗,之後會在模型具備其他通道時於另一通道重試,或以 HTTP 錯誤傳回——絕不會傳回一個最後沒有任何內容的 200 串流。內容開始後的停滯不是閘道可以重試的問題,Claude Code 的監控器與 continue 才是適當工具。 OpenAI 相容端的串流如何結束,以及如何辨別完整答案與被截斷答案,請參閱 LLM API 串流錯誤.
常見問題
Claude Code 中「上方回應可能不完整」是什麼意思?
串流答案在部分內容到達後停止——可能是停滯、連線中斷、伺服器錯誤或電腦進入睡眠。Claude Code 會保留已完成的文字與工具呼叫,並附加通知。回覆 continue,該回合會從已到達的內容繼續。
「串流中途回應停滯」和「回應停止傳入」是同一回事嗎?
它們描述的是同一種情況:連線仍保持開啟,但停止傳送資料,直到串流監控程式中止連線。Claude Code 目前的錯誤參考使用「回應停止傳入」;2026 年 7 月提交的回報則引用「串流中途回應停滯」。
為什麼 Claude Code 會顯示「在不使用串流的情況下重試」?
因為串流在收到任何完整資料之前就結束了,因此沒有可保留的內容。Claude Code 會在不使用串流的情況下再次送出相同請求。如果這則訊息持續出現,請檢查 Claude Code 與供應商之間的 Proxy 或閘道——通常原因是本文大小限制、緩衝處理和讀取逾時。
我應該關閉串流監控程式嗎?
不應該。監控程式的存在是為了讓失效的連線失敗並重試,而不是讓工作階段無限期掛起。如果你的連線確實會長時間沒有資料,請提高 CLAUDE_STREAM_IDLE_TIMEOUT_MS(低於五分鐘的值會提高為五分鐘),不要將 CLAUDE_ENABLE_STREAM_WATCHDOG 或 CLAUDE_ENABLE_BYTE_WATCHDOG 設為 0。
使用搭配 ANTHROPIC_BASE_URL 的閘道會讓這種情況更容易發生嗎?
Claude Code 與供應商之間的每一個跳點,都多了一個可能緩衝、切斷或逾時串流的位置,因此當訊息重複出現時,請在不使用閘道的情況下測試。位元組層級監控程式也會在閘道連線上執行;當 ANTHROPIC_BASE_URL 經由閘道路由時,第一個位元組期限則不會執行。