Repository navigation
Autopilot: assistant says its answer is "above", but no text was output before task_complete #5303
Description
Describe the bug
In autopilot, the agent often ends a turn with task_complete whose summary refers to a deliverable "above" (e.g.
"The Discord post is above, ready to copy"). The user sees no such text, because none was output: the
assistant.message before the call has content: "". The user has to ask again, and the agent then insists it
already wrote it.
From my local session logs (~/.copilot/session-state/*/events.jsonl, last 21 days, deduplicated by tool-call ID):
- 544
task_completecalls; 489 had no assistant text before the call (often fine, the summary is the answer). - 31 summaries refer to something "above"; in 27 of them (12 sessions) no text was output in that turn. Some may
point to an earlier turn, so 27 is an upper bound.
One verified example (session log, 2026-10-30T15:55:32Z): the summary says "The shorter, casual Discord post is
above". The message content is empty, and the post text appears nowhere in the log, not even in the stored
reasoning summary, which only says "I've drafted a short, casual forum post…". Non-reasoning output was 151 tokens
for 342 characters of tool-call arguments, so no separate draft was emitted as visible output.
This is not #5150 (ACP clients got the summary only as a tool call; fixed in 1.0.102). Here the TUI shows everything
it received; the referenced text was never output. A second model (GPT-6.1 Sol) checked the log independently and
confirmed the counts.
Affected version
GitHub Copilot CLI 1.0.105, TUI (not ACP). Windows 11, PowerShell 7. Model claude-opus-5.5, autopilot mode on.
Steps to reproduce the behavior
Intermittent; it happens most when the deliverable is text the user will copy (a draft, an explanation):
- Turn on autopilot (
/autopilotor Shift+Tab). - Ask:
Draft a short, casual forum post asking how others keep their CMS sites updated. - Then ask:
Make it shorter and less formal. - Check the final message: often only the
task_completesummary appears, saying the post is "above", with no
post shown. - Confirm in
~/.copilot/session-state/<id>/events.jsonl: theassistant.messagewith thetask_completetool
request has"content": "", and the post text is not in the file.
Expected behavior
When the agent ends a turn with task_complete, every deliverable the user asked for is visible: either as message
text before the call or inside the summary. The summary never refers to text ("above") that was not output in this
or an earlier turn. Possible guardrails:
- the
task_completetool description could say "put the deliverable in the summary, or output it before calling"; - the CLI could flag a summary that refers to "above" when the turn has no visible text.
Additional context
- Workaround: an instruction in
~/.copilot/copilot-instructions.mdto put every deliverable inside the
task_completesummary. That shouldn't be needed for every autopilot user. - I searched github/copilot-cli issues ("autopilot task_complete summary", "message not shown", "task_complete
hides") and found only ACP: the autopilot task_complete summary is sent only as a tool call, not as an agent message #5150, which is a different problem. - Root cause not proven: the token counts show the text wasn't emitted as visible output, but the stored reasoning
is a summary (reasoningSummary: "detailed"), so I can't tell whether the model wrote it only in its reasoning.
Activity