[FEATURE] Interactive UI for "AskUserQuestion" in VS Code Extension (Similar to Cursor Plan Mode)

Resolved 💬 3 comments Opened Nov 28, 2025 by coygeek Closed Jan 27, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When using Plan Mode in the Claude Code VS Code extension, the agent often needs to clarify ambiguity before generating a plan (e.g., asking about architectural choices, file locations, or specific feature requirements).

Currently, answering these questions involves reading a text block and typing a response back into the chat interface (e.g., typing "Option A" or "Use the src/components folder"). This context switching from "reviewing" to "typing" slows down the planning phase and feels cumbersome compared to a native IDE experience. The friction of typing answers reduces the speed at which a user can steer the agent toward the correct solution.

Proposed Solution

I propose upgrading the UI rendering for the AskUserQuestion tool within the VS Code extension to support interactive, mouse-clickable elements, similar to Cursor's "Improved Plan Mode."

When Claude triggers a clarifying question during planning:

  1. Render Native UI Controls: Instead of plain text, display specific questions as a structured UI card within the chat sidebar.
  2. Radio Buttons/Checkboxes: Use radio buttons for single-choice questions (e.g., "Which framework?") and checkboxes for multi-select (e.g., "Which files should be refactored?").
  3. One-Click Submission: Users should be able to click their choice and hit a "Continue" or "Confirm" button without touching the keyboard.
  4. Auto-Skip: Include a "Skip" or "Default" button if the user wants Claude to make the best guess.

This utilizes the existing AskUserQuestion tool logic but creates a specific frontend renderer for it in the VS Code extension.

Alternative Solutions

  • Status Quo (Text Chat): Continuing to type "Option 1" or copying/pasting preferences. This works but is slower and error-prone.
  • Terminal-style Selection: Rendering an ANSI-style arrow-key selection menu. This works in the CLI but feels unnatural and clunky inside the VS Code sidebar GUI.
  • Slash Commands: Using specific slash commands to answer, which adds cognitive load to remember syntax.

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

Scenario: Adding a new "Playground" page to a web app.

  1. Prompt: I type "Add an interactive model playground page" into the Claude Code extension.
  2. Plan Mode Analysis: Claude enters Plan Mode and scans the codebase. It realizes there are two ways to implement this based on existing patterns.
  3. Clarification Trigger: Claude pauses generation to ask clarifying questions.
  4. The Experience:
  • A UI card appears in the chat stream titled "Clarifying Questions".
  • Question 1: "Where should the interactive model playground be added?"
  • [ ] On the models page (/docs/models) as an embedded component
  • [x] As a separate dedicated page (/docs/models/playground)
  • Question 2: "What features should the playground include?"
  • ( ) Basic: Model selector, prompt input
  • (x) Advanced: Model selector, prompt input, token usage, context support
  1. Action: I click the two options using my mouse and click "Continue."
  2. Result: Claude immediately generates a plan based on those specific constraints without me typing a sentence.

Additional Context

Visual Reference:
This feature is heavily inspired by the interaction model seen in Cursor's 2.1 update. See the workflow below where the user clicks options rather than typing:

(Mockup description based on Cursor UI)

  • User interface shows a list of questions.
  • Options A, B, C are clickable rows.
  • Selected rows are highlighted.
  • A primary action button at the bottom allows the user to submit choices.

Technical Considerations:

  • This relies on the backend AskUserQuestion tool correctly identifying the format of the options.
  • The VS Code extension webview would need to parse this tool call and render React/HTML components instead of a raw text block.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗