You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
opencode-go: GLM-5.3-Flash long streams cut off without finish_reason, repeated retries #50146
When using OpenCode Go with opencode-go/glm-5.3-flash, long-running streams are cut mid-generation. The SSE stream ends with HTTP 200 but no finish_reason, so opencode shows:
⚠ Retry due · attempt N · OpenAI Chat stream ended without finish_reason
and automatically retries (observed up to attempt 4). This happens on nearly every long request. The same client on the same network does not show this with other providers, and the connection is direct (no VPN/proxy), so it looks like the Go gateway or its edge is cutting long-lived streams.
Impact: retries eventually succeed, but long tasks gain several minutes of wall time and each attempt re-bills tokens.
Example request configuration from the TUI stats page (shown to illustrate the endpoint, not necessarily the failing request itself):
Observed cuts from the TUI during a single Build turn with GLM-5.3-Flash: Retry due · attempt 2/3/4 · OpenAI Chat stream ended without finish_reason, with streams running ~1m50s to ~12m27s at ~24–34 tok/s before being cut.
Plugins
None
OpenCode version
2.0.10
Steps to reproduce
Connect OpenCode Go and select opencode-go/glm-5.3-flash (reasoning effort max observed on affected runs)
Run a long Build task that generates for several minutes
Watch for ⚠ Retry due · attempt N · OpenAI Chat stream ended without finish_reason
Screenshot and/or share link
No share link yet; happy to run /share and post it on request.
For context on the screenshots above: the first shows a single Retry due · attempt 2 after a 12m27s stream at 34.1 tok/s; the second shows one Build turn with repeated Retry due banners at attempts 2–4, with streams cut between ~1m50s and ~10m38s at ~24 tok/s. A /share link with the failing request traces will follow.
Thanks for the report. This is about how the model itself behaves when served through OpenCode Go (repeating itself, broken tool calls, speed, or rejecting large requests), not a bug in the OpenCode app. We pass these reports to our upstream providers. Starting a new session or running /compact usually helps with loops and oversized-request errors. Closing this to keep the tracker focused; the main discussion is in #50206.
Activity
spkrninv commentedon Sep 20, 2026
spkrninv commentedon Sep 20, 2026
For context on the screenshots above: the first shows a single
Retry due · attempt 2after a 12m27s stream at 34.1 tok/s; the second shows one Build turn with repeatedRetry duebanners at attempts 2–4, with streams cut between ~1m50s and ~10m38s at ~24 tok/s. A/sharelink with the failing request traces will follow.neriousy commentedon Oct 21, 2026
Thanks for the report. This is about how the model itself behaves when served through OpenCode Go (repeating itself, broken tool calls, speed, or rejecting large requests), not a bug in the OpenCode app. We pass these reports to our upstream providers. Starting a new session or running
/compactusually helps with loops and oversized-request errors. Closing this to keep the tracker focused; the main discussion is in #50206.