Copilot Chat agent todo list never completes after the task is finished
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
## Description
When using Copilot Chat in agent mode with a plan, Copilot creates a todo
list ("Todos (1/4)", etc.). Even after the agent completes the entire request
(files edited, final summary shown), the todo list is never fully checked off.
Items are left in an in-progress state with a spinner indefinitely, so there is
no way to know whether the agent truly finished all the work.
## Steps to Reproduce
1. Ask Copilot Chat to perform a multi-step task in agent/plan mode so it
creates a todo list.
2. Let it run to completion: it edits files and posts its final summary
(e.g. "Created 4 todos", "Reviewed and updated offer-detail.php").
3. Look at the todo list panel: it stays at e.g. "Todos (1/4)" with the
remaining items still shown as in-progress/spinner, never checked off.
## Expected Behavior
When the agent finishes the request, all todo items should be marked
completed so the user can trust the work is done.
## Actual Behavior
The todo list remains stuck mid-progress (e.g. 1/4), items left with an active
status/spinner, even after the agent has finished all steps and posted its
summary. The user cannot tell whether the task succeeded.
## Additional Information
- Affected models: ChatGPT 5.6 Luna (my main Copilot model, the most used —
it fails consistently) and Gemini 3.7 Flash (I switched to it for this request
to check whether the bug also happens with another Copilot model — it does).
- I have never seen this problem when using models brought in via BYOK
(e.g. an external provider like Opencode Go). This suggests the issue is
specific to GitHub's own Copilot models rather than the todo list UI itself.
## Impact
Every agent session creates uncertainty about completion. Workarounds
(asking the agent "are you done? update your todos") waste context and
server resources.
Contributor guide
Assessment
This issue has not been assessed yet.