Skip to content

No way to hide questions or read text #37173

Open

Description

@thezachdrake

Description

When the agent asks questions, the modal pops up at the bottom. With the font large enough (I can't see anything) the modal blocks all or most of the text, making it impossible to read what the agent said before asking the questions. This makes it impossible to answer the questions because I have not been able to read what it said/did for context. Pressing escape cancels the questions entirely and closes the dialog. I am then able to read but I have then prompt it something like "please ask your questions again" which is embarrassing. This poor robot did all that work and I am asking it to repeat itself. Simply adding a toggle to show/hide the question modal would allow a user to read the text and then pop in to answer the questions.

Plugins

No response

OpenCode version

No response

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Activity

  1. pedromarquetti commented on Aug 13, 2026

    @pedromarquetti

    I was going to open an issue but i found this. This is a must for accessibility, i use TUIs because of how accessible it is for low vision users like me, but the question prompt does interrupt while trying to read what the model said

  2. ngtienchung commented on Oct 6, 2026

    @ngtienchung

    Confirmed on opencode v2.0.24 (TUI, npm global install).

    Environment: Microsoft Windows NT 10.0.19045.0 (win32 x64), Windows Terminal (TERM=xterm-256color, truecolor), PowerShell 7 as the tool shell, no plugins configured. 100% reproducible on every question call.

    The form replaces the view rather than overlaying it

    Requesting a form switches the TUI into a form view mode instead of drawing an overlay on top of the message list:

    function view(o) {
      if (o.permission) return { type: "permission", request: o.permission }
      if (o.form) return { type: "form", request: o.form }
      return { type: "prompt" }
    }

    The form root box is sized width: "100%", height: "100%", so there is no message list underneath to reveal. PgUp / PgDn scroll inside the form only.

    Why Ctrl+F does not help

    The permission dialog opts into the shared dialog's expanded/shrunk state, which is what makes permission.prompt.fullscreen work:

    ...t.fullscreen
      ? [{ id: "permission.prompt.fullscreen",
           title: "Toggle permission fullscreen",
           run: () => setExpanded(p => !p) }]
      : []

    That binding is registered only when a dialog sets fullscreen: true. Question forms never do, so Ctrl+F is inert here.

    Ctrl+B does not help either

    session.background filters on tool name and matches only two tools:

    const name = toolName(part.name)
    return name === "shell" || name === "subagent"

    The question tool is not matched, so no existing binding can move it aside. This rules out "just use the background binding" as a workaround.

    Suggestion

    The minimizable-dialog option from this thread looks like the cheapest path. The form component already tracks per-field answer state and already handles PgUp / PgDn, so it mainly needs the expanded/shrunk presentation the dialog component already has.

    Worth weighing the accessibility angle too: TUIs are often picked precisely because text stays legible and selectable at arbitrary font sizes, and this single interaction removes that property. The low-vision accessibility concern raised above applies to the TUI path specifically, which the Desktop-side fix in #34116 does not cover.

  3. gojoGS commented on Oct 10, 2026

    @gojoGS

    This would really come in handy. 95% of my OpenCode usage is via the TUI client. I like when agents use the question tool, but they also write a mini-summary before the questions. They usually provide context necessary to understand the questions.

    Given that the question pane can't be minimized, this is how I read the agent's response:

    Image

    Please implement this feature so we can have a bit nicer TUI experience.

  4. opencodejr commented on Oct 28, 2026

    @opencodejr

    Thanks for the clear description, and for raising the accessibility side of this. You're asking for a way to hide or minimize the pending question form in the TUI so you can scroll back and read what the agent wrote, then reopen the form and answer without cancelling it (today Esc dismisses the questions).

    You're right that the TUI has no way to do this right now. Permission prompts have a fullscreen toggle and question forms don't. The web/desktop app's question dock can already be minimized, so this would bring the TUI in line with it. Maintainers will consider it.

    Related issues:

  5. tkarcheski commented on Oct 31, 2026

    @tkarcheski

    Additional report on OpenCode 1.18.25, Linux.

    We hit this repeatedly during a session today:

    1. The agent presents a question with selectable answers.
    2. Press Esc intending to dismiss the visible dialog.
    3. The pending question itself is cancelled/rejected. The agent receives "The user dismissed this question" and must ask it again.

    Expected: closing or hiding the dialog preserves the pending question so it can be reopened and answered. Cancelling the question should be a separate, explicit action.

    Impact: an ordinary dialog-dismissal key becomes a workflow decision, repeatedly skipping questions the user still intended to answer.

    Related: #45304 describes Escape affecting a pending question while another dialog is open. That v1 report was closed as not planned; this comment adds the repeated question-dismissal impact to the open tracking issue rather than creating a duplicate.

    The exact frontend/terminal was not captured for this report. No recording or private session transcript is attached.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions