Skip to content

[FEATURE]: Improve UX of question tool multi-select #7572

Closed

Description

@shanebishop1

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

The current question tool response UX is a bit unintuitive imo - what does the team think about matching the pattern that pnpm uses for approve-builds? This would mean hitting space to toggle selections and enter to confirm/submit. This approach would also sidestep this tab key conflict issue since we could cut out that part of the flow (and also save the user a keystroke, which is nice).

Also, it would be nice to be able to use the number keys for choosing single-choice questions.

Let me know your thoughts 🙂

Ref: pnpm uses ↑↓/jk navigate - space select - ⏎ submit
E.g:

Image

Activity

  1. added
    discussionUsed for feature requests, proposals, ideas, etc. Open discussion
    on Jan 10, 2026
  2. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Jan 10, 2026
  3. github-actions commented on Jan 10, 2026

    @github-actions
    Contributor

    This issue is directly related to #7496: Question Tool Keyboard Conflict and Agent Switch Issue. Your proposed solution (space to toggle selections and enter to confirm) is an excellent way to address the tab key conflict mentioned in that issue.

    Additionally, you may want to consider #7462: Ability to turn off the "question form behavior", which discusses concerns about the question form UX being unintuitive.

  4. Hipfox commented on Jan 10, 2026

    @Hipfox

    About Question Tool UX Issues and Recommendations

    Following up on #7496 I've conducted a thorough code analysis of the Question Tool implementation. Here's a comprehensive breakdown of the current issues and how the proposed changes would address them.

    Current Keyboard Binding Analysis

    Action UI Hint Actual Implementation Problem
    Switch tabs ⇆ tab left/right or h/l ❌ Misleading
    Select option ↑↓ up/down or k/j ✓ Correct
    Confirm/Toggle enter return ✓ Correct
    Dismiss esc escape ✓ Correct

    Root cause in code (question.tsx:150-162): Currently no handler for "tab" key - event bubbles to global agent_cycle

    Additional UX Issues Discovered

    1. Enter Key Behavior is Context-Dependent (Confusing)

    The Enter key has 4 different behaviors depending on state:

    Context Enter Behavior UI Label
    Single question, single-select Select + Submit immediately "submit"
    Multi-question, single-select Select + Move to next tab "confirm"
    Multi-select mode Toggle selection "toggle"
    Confirm tab Submit all answers "submit"

    This is implemented at question.tsx:357:

      {confirm() ? "submit" : multi() ? "toggle" : single() ? "submit" : "confirm"}
    
    1. No Way to Go Back to Previous Questions

    In multi-question mode, after moving to the next question (or Confirm tab), users can only go back using left/h. But:

    • The UI shows ⇆ tab which doesn't work
    • There's no explicit "back" hint

    How the Proposed Changes Address These Issues

    Issue Current Proposed (pnpm-style) Improvement
    Tab conflict Tab triggers agent switch Space for toggle, no Tab ✅ Eliminates conflict
    Toggle confusion Enter toggles in multi-select Space always toggles ✅ Consistent mental model
    Quick selection Navigate then Enter Number keys for single-choice ✅ Fewer keystrokes
    Enter ambiguity 4 different behaviors Enter always confirms ✅ Predictable

    Suggested Implementation

    Building on @shanebishop1's proposal:

    Mode Proposed UI Hints
    Single-select 1-4 select · ↑↓/jk navigate · enter submit
    Multi-select space toggle · ↑↓/jk navigate · enter done
    Multi-question ←→/hl switch · esc dismiss

    Additional Recommendations

    Consume Tab key event even if not used, to prevent bubbling:

    if (evt.name === "tab") {
      evt.preventDefault()
      // optionally: same as right arrow
    

    References

  5. shanebishop1 commented on Jan 17, 2026

    @shanebishop1
    ContributorAuthor

    @kitlangton made some PRs recently which improved the question UX and addressed most of my concerns. Closing this issue.

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

Metadata

Metadata

Assignees

Labels

discussionUsed for feature requests, proposals, ideas, etc. Open discussionopentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions