Skip to content

vscode: QuestionDialog lacks multi-select support; consider a single-form layout #2463

Description

@wbxl2000

Problem

The VS Code webview QuestionDialog (apps/vscode/webview-ui/src/components/QuestionDialog.tsx) treats every question as single-select: clicking an option immediately advances to the next question or submits. When the agent sends a question with multi_select: true (allowed per-question by the AskUserQuestion schema), the user can only pick one option and the agent receives just the first clicked label instead of the full selection.

This is a pre-existing gap, not introduced by #2326 — before that PR only the first question was shown at all, with the same single-select behavior. Surfaced by a review comment on #2326.

Two related UX gaps in the current step-through design:

  • No way to go back and change a previous answer.
  • No skip: users must answer every question (or abort the whole run), even though partial answers are contract-legal — only an all-empty submission counts as dismissed.

Proposal

Render all questions (the schema caps at 4) as one scrollable form instead of a step-through wizard:

  • Radio semantics for single-select questions, checkboxes for multi-select questions.
  • One explicit Submit at the bottom; the form itself serves as the review.
  • Allow submitting with unanswered questions (show a hint, don't block); an all-empty submission keeps the current dismiss semantics.

Multi-select answer format must match the TUI convention: selected labels joined with ', ' (see updateAnswer in apps/kimi-code/src/tui/components/dialogs/question-dialog.ts). Answers stay keyed by question text; uniqueness is enforced tool-side.

Refs: #2299, #2326

Metadata

Metadata

Assignees

No one assigned

    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