github / github/copilot-cli

Add internal interactive questioning tool 'usr_ask'

Aperta
#4,557 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

area:input-keyboard area:tools
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia confrontando l'implementazione di ask_user in app.js di v1.0.6 e il suo utilizzo di registerPrompt con la CLI attuale, quindi leggi le proposte in #2109. Traccia dove verrebbero registrati e attivati usr_ask o ask_user. Il lavoro è completato quando sono supportati prompt interattivi a selezione singola e multipla, risposte in formato libero e un comportamento sicuro nelle modalità autonomous, YOLO, ACP e unattended.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
shell
Ambito
cli
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Da chiarire
Idoneità per principianti
32/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.