github / github/copilot-cli

Preserve question_tool rendered output (description/question/choices) when user presses Escape to dismiss

Ouverte
#2,732 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
area:terminal-rendering
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the bug

When the agent presents a question or multiple-choice prompt, pressing Escape to dismiss it (e.g. to run a quick `!` shell command or interact with the agent differently) causes the entire question block to collapse into a single unreadable line. The original multi-line formatting — choices, context, spacing — is lost.

This makes it difficult to reference what the agent asked, especially when you want to come back and answer the question after checking something first.

### Steps to reproduce

1. Give the agent a prompt that triggers a question with multiple choices
2. Agent renders a nicely formatted question with options
3. Press **Esc** to dismiss the question (e.g. to run a `!` command first)
4. Observe: the question collapses into a single line of concatenated text, losing all formatting

### Expected behavior

When a question/choices prompt is dismissed via Escape, the rendered text should preserve its original multi-line formatting. The question should remain readable in the conversation history so the user can:

- Reference it after running a quick shell command
- Copy/paste from it
- Re-read the options before deciding how to respond

### Additional context

This is a common workflow — the agent asks a question, but before answering you want to check something (e.g. `!ls`, `!git status`, `!cat some-file`) to make an informed choice. The collapsed question text makes it hard to remember what was asked.

Related to #2733 Agent pushes user toward implementation choices while still in plan mode

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by reproducing the question_tool flow with a multiple-choice prompt, then trace what happens when Escape dismisses it and the rendered output is added to conversation history. The work is done when the description, question, choices, spacing, and line breaks remain readable after dismissal; no file or test is named in the issue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
shell
Domaine
cli
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
50/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.