[FEATURE] Add `confirm` prompt type to AskUserQuestion (Tab-to-amend support)
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
Claude Code's native permission prompts support a powerful interaction pattern:
- Arrow keys to highlight an option
- Tab to add optional context ("Tab to amend")
- Enter to submit
- Returns both selection AND typed context
This "Tab to amend" pattern is not available to skills using AskUserQuestion. While AskUserQuestion supports several prompt variations (single select, multi-select, multiple questions—see Additional Context), none allow users to both select an option AND add contextual notes in a single interaction. The "Other" option is always separate.
Proposed Solution
Add a type parameter to AskUserQuestion:
AskUserQuestion({
type: "confirm", // "select" (default) | "checkbox" | "confirm"
question: "Delete this file?",
header: "1/34",
options: [
{ label: "← Delete", description: "Remove this file" },
{ label: "→ Keep", description: "Still relevant" }
]
})
Prompt Types
| Type | Behavior | Status |
|------|----------|--------|
| select | Numbered list, single choice, separate "Other" option | ✅ Current default |
| checkbox | Numbered list, spacebar multi-select | ✅ Exists (via multiSelect) |
| confirm | Inline options, Tab to add context, single choice | ❌ Missing |
Response Shape for confirm
{
selected: "← Delete",
context: "outdated, already completed" // Optional, from Tab-to-amend
}
Alternative Solutions
Workaround 1: Use "Other" for notes
Users can type decisions + notes in the "Other" field (e.g., "delete - it's outdated"), but this loses the structured selection and requires parsing free text.
Workaround 2: Two-step flow
Ask for decision first, then ask "Any notes?" as follow-up. This doubles the interactions and breaks rapid workflow patterns.
Workaround 3: Build custom CLI
Ship a separate CLI binary with the skill that uses @inquirer/prompts. But this breaks Claude Code's UX—context doesn't flow naturally and two-way interaction is clunky.
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
Building a /tinder skill for rapid swipe-style decisions (file cleanup, task triage, review queues):
- Skill reads 69 plan files from
~/.claude/plans/ - For each file, present a preview and ask Delete/Keep
- User arrows to "Keep", presses Tab, types "still working on this", presses Enter
- Repeat rapidly through all files
- Skill summarizes: "12 to delete, 22 to keep (3 with notes). Want me to..."
- User confirms, skill executes
The current select type adds cognitive overhead—scanning numbered lists and selecting a separate "Other" option to add notes breaks the flow. The native permission prompt UX ("Tab to amend") is exactly what this workflow needs.
Additional Context
Inspiration
This sorta mirrors @inquirer/prompts, the Node.js CLI prompt library:
| Inquirer | AskUserQuestion Equivalent |
|----------|---------------------------|
| select() | type: "select" ✅ exists |
| checkbox() | type: "checkbox" ✅ exists (via multiSelect) |
| confirm() | type: "confirm" ❌ missing |
Screenshots
Native permission prompt (desired UX) - Note "Tab to amend" at the bottom:
<img width="965" height="376" alt="Image" src="https://github.com/user-attachments/assets/84a6e2a4-2acc-4573-b0d9-e73f0bc41361" />
Current AskUserQuestion variations - None support Tab-to-amend:
<img width="1055" height="346" alt="Image" src="https://github.com/user-attachments/assets/00d371b9-c122-4d2a-b9fe-a0f5cde35185" />
<img width="1055" height="515" alt="Image" src="https://github.com/user-attachments/assets/ce693fa2-48e3-445f-817a-6a2fdb1a7e96" />
<img width="1055" height="625" alt="Image" src="https://github.com/user-attachments/assets/b59bcee9-c2a7-46a3-9080-554886262ff6" />
<img width="1055" height="660" alt="Image" src="https://github.com/user-attachments/assets/41f3074b-4728-401f-a96a-89895303b9d7" />
<img width="1055" height="680" alt="Image" src="https://github.com/user-attachments/assets/824a4acc-df57-4e39-904b-bb35851dcc9c" />
<img width="1055" height="680" alt="Image" src="https://github.com/user-attachments/assets/f78a03a6-7392-481d-9298-32560e9a9757" />
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗