github / github/copilot-cli

Add internal interactive questioning tool 'usr_ask'

Abierto
#4,557 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

area:input-keyboard area:tools
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza comparando la implementación de ask_user en app.js de v1.0.6 y su uso de registerPrompt con la CLI actual; después, lee las propuestas de #2109. Rastrea dónde se registrarían y activarían usr_ask o ask_user. Se considera terminado cuando se admitan prompts interactivos de selección única y múltiple, respuestas de texto libre y un comportamiento seguro en los modos autonomous, YOLO, ACP y unattended.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
shell
Área
cli
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Activo
Claridad
Necesita aclaración
Aptitud para principiantes
32/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.