github / github/copilot-cli

Add internal interactive questioning tool 'usr_ask'

Open
#4,557 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:input-keyboard area:tools
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the feature or problem you'd like to solve

In older versions like v1.0.6, ask_user worked nicely to display interactive multiple-choice menus in the terminal.

However, in current releases (tested on v1.0.80), the agent no longer triggers interactive question prompts, even when explicitly asked to offer choices or clarify next steps. Instead, it just outputs plain text lists and ends the turn.

Proposed solution

Restore and polish the built-in ask_user (or usr_ask) tool so the CLI can reliably render interactive selection prompts:

  • Simple arrow-key navigation (/ + Enter) for choices.
  • Single and multi-select support.
  • Built-in "Other / custom text" option so users can write in answers.
  • Ensure the model reliably triggers it when ambiguity arises instead of falling back to raw text.
  • Proper handling in autonomous/YOLO/allow-all modes so interactive prompts don't unexpectedly block unattended or automated workflows (as addressed in #2109).
Example prompts or workflows
  • Choosing frameworks or tools (e.g. asking which test runner to install with selectable items).
  • Confirming dangerous operations before execution.
  • Clarifying requirements during complex tasks without ending the session early.
Additional context

Looking at the v1.0.6 release (app.js), ask_user was defined with { question, choices, allow_freeform } and rendered via registerPrompt. On v1.0.80 this seems broken or dormant.

#2109 is especially relevant here, as it lays out solid proposals to handle ask_user gracefully across ACP and automated modes without breaking YOLO / unattended execution.

Related issues: #2109, #3323, #4050, #4260, #4450, #3722, #2067, #2929, #1898.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the v1.0.6 app.js implementation of ask_user and its registerPrompt usage with the current CLI, then read the proposals in #2109. Trace where usr_ask or ask_user would be registered and triggered. Done means interactive single- and multi-select prompts, freeform answers, and safe behavior in autonomous, YOLO, ACP, and unattended modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.