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 hangs after a multi-question prompt (question tool, 3 questions) — keys and Ctrl+C unresponsive #43376
When the assistant uses the question tool with 3 questions (each with several options), the TUI occasionally freezes: the prompt renders, but no key presses are processed, Enter does not confirm, and even Ctrl+C does nothing. Only force-quitting the terminal tab (Cmd+W) recovers.
Note: after asking questions=3, there was no replied, no rejected, and no error — the backend never received an answer, but the process stayed alive (the cleanup timer kept firing ~40s later), which points to the TUI event loop being stuck rather than the process crashing.
Intermittent (not always reproducible)
Historical log shows questions=3 working fine in other sessions:
16:23:02 asking questions=3 → 16:29:57 replied (~7 min, user took time)
Same exact experience here — a 3-question prompt via the question tool:
Selecting options and tab-cycling between the question tabs works fine
On the final Confirm tab, Enter does nothing, clicking Confirm is ignored, and Esc/Ctrl+C are also dead
Only force-quitting the terminal recovers the session
Environment: opencode v1.18.30, Linux, TERM=xterm-256color, zsh.
My logs also show asking questions=3 with no replied/rejected afterwards — the backend never receives the answer, so it's the TUI never delivering the reply rather than a backend issue.
Same hang on 1.18.29, Linux, tmux. Not limited to iTerm, and not limited to 3 questions.
The prompt had 2 questions. The TUI was sitting on the Confirm screen with the recommended options already filled in. The footer said tab, enter to submit, esc to dismiss. The keyboard did nothing. Clicks on the question buttons did nothing. The mouse wheel still scrolled the transcript, so the process was not fully frozen.
The process stayed up and idle (epoll_wait, not spinning). After the ask there was no replied, rejected, or error:
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.
Activity
github-actions commentedon Aug 19, 2026
This issue might be a duplicate of an existing issue. Please check:
If the root cause is different (question tool event loop specifically), feel free to keep this open — the log evidence here is a useful addition.
manascb1344 commentedon Sep 26, 2026
Same exact experience here — a 3-question prompt via the question tool:
Environment: opencode v1.18.30, Linux, TERM=xterm-256color, zsh.
My logs also show
asking questions=3with noreplied/rejectedafterwards — the backend never receives the answer, so it's the TUI never delivering the reply rather than a backend issue.Still reproducible in 1.18.30.
simonklee commentedon Sep 27, 2026
Is it still reproducible in v2?
Burwin commentedon Oct 2, 2026
Same hang on 1.18.29, Linux, tmux. Not limited to iTerm, and not limited to 3 questions.
The prompt had 2 questions. The TUI was sitting on the Confirm screen with the recommended options already filled in. The footer said tab, enter to submit, esc to dismiss. The keyboard did nothing. Clicks on the question buttons did nothing. The mouse wheel still scrolled the transcript, so the process was not fully frozen.
The process stayed up and idle (epoll_wait, not spinning). After the ask there was no replied, rejected, or error:
The question tool call stayed
status=running.thdxr commentedon Oct 11, 2026
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (
opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊