github / github/copilot-cli

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

Offen
#2,732 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:terminal-rendering
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
50/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.