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
TUI freezes/hangs after LLM streaming completes #15310
The TUI freezes or hangs after LLM streaming completes. Several independent bugs contribute:
Stream never terminates: for await (stream.fullStream) in processor.ts doesn't break on the finish event — it only breaks on needsCompaction. After the LLM finishes streaming, the loop continues waiting indefinitely, causing a 0% CPU hang.
No timeout on client.listTools(): In mcp/index.ts, client.listTools() has no timeout wrapper. If an MCP server is unresponsive, this hangs indefinitely.
Unhandled effect rejections: In db.ts, fire-and-forget effects (effect()) can reject silently, causing unhandled promise rejections that propagate unpredictably.
SDK batch window too tight: The 16ms event batch window in sdk.tsx causes excessive render churn during high-throughput streaming (10+ tokens/sec), amplifying GC pressure.
Steps to Reproduce
Run opencode against a large project
Ask the LLM a question that produces a long response
Wait for streaming to complete
TUI becomes unresponsive or hangs at 0% CPU
Expected Behavior
TUI should remain responsive during and after streaming, and the stream loop should exit cleanly on the finish event.
Missing system information: no OpenCode version, OS, or terminal specified — these are required fields in the bug report template
The description reads as AI-generated: it contains detailed internal code-level analysis (specific file names, function names, and implementation details like for await (stream.fullStream) in processor.ts, 16ms batch windows in sdk.tsx, etc.) with no actual reproduction evidence, logs, or personal system context. AI-generated walls of technical analysis are not acceptable per our contributing guidelines.
Steps to reproduce are too vague to be actionable ("run against a large project" with no version or environment details)
Please edit this issue to address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
Activity
github-actions commentedon Feb 27, 2026
This issue doesn't fully meet our contributing guidelines.
What needs to be fixed:
for await (stream.fullStream)inprocessor.ts, 16ms batch windows insdk.tsx, etc.) with no actual reproduction evidence, logs, or personal system context. AI-generated walls of technical analysis are not acceptable per our contributing guidelines.Please edit this issue to address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
If you believe this was flagged incorrectly, please let a maintainer know.
github-actions commentedon Feb 27, 2026
This issue has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.
Feel free to open a new issue that follows our issue templates.