Detached PowerShell command is reported completed while its child process is still running
Nessuno ha ancora preso questa issue.
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
Describe the bug
In a GitHub Copilot app project session on Windows, the built-in powershell tool was started with mode="async" and detach=true. A later read_powershell call reported <detached command with shellId: runtime-tests-detached completed> even though the child process continued writing its receipt for another 6 minutes 51 seconds.
No later completion notification was recorded, and the wrapper's final exit-code/output receipt was never delivered.
Frequency: observed once during a long-running pytest command. I have not yet reproduced it with a minimal sleep-only command.
Extensions: not tested with extensions disabled. No extension initiated the command; it was launched through the built-in PowerShell tool.
Affected version
GitHub Copilot CLI 1.0.80 embedded in GitHub Copilot app 1.1.14
Steps to reproduce the behavior
- In a GitHub Copilot app project session on Windows, have the agent launch a long-running child process through the built-in PowerShell tool using
mode="async",detach=true, and a namedshellId. - Redirect the child process output to a file. Keep the wrapper waiting for the child and printing a final receipt only after it exits.
- End the agent turn.
- While the child is still producing output, call
read_powershellfor thatshellId. - Observe that it reports the detached command as completed.
- Observe that the redirected output file continues changing after the reported completion time.
Observed timeline in this run:
- 03:51:40Z — detached PowerShell tool launched.
- 03:51:42Z — tool returned
command started in detached background. - 04:01:43Z —
read_powershellreported the detached command completed. - 04:08:34Z — the redirected receipt file was still being written.
Expected behavior
Detached-command status should track the full command process tree. read_powershell and any completion notification should report completion only after all command descendants exit and the real exit code/final output are available.
If detached descendants are intentionally untracked, the tool should report that the command is detached/untracked rather than completed.
Additional context
App version 1.1.14
OS Windows 10 Enterprise 25H2 (build 26200.9106)
Architecture AMD64
WebView2 runtime 152.0.4191.62
Copilot CLI 1.0.80
Agency 2026.9.2.6
GPU 0 Intel(R) Graphics (32.0.101.8132)
GPU 1 NVIDIA GeForce RTX 5090 (32.0.16.1656)
Suggested triage labels: area:tools, area:platform-windows, area:sessions.
The event log contains a launch event and the premature manual completion read, but no intervening completion/system-notification event. The output file's LastWriteTimeUtc proves activity continued after the completion report.
Related but not duplicate: github/app#330 reports premature completion notifications for sub-agents; this report concerns detached shell process-tree tracking.
Workaround: pair detached finite jobs with a recurring same-session automation that checks once per wake and clears itself after a genuine final receipt.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla gestione async detached dello strumento powershell integrato e dall’entry point read_powershell su Windows. Riproduci il report con un processo figlio minimo di lunga durata, quindi confronta lo stato detached, le notifiche di completamento e il receipt finale. Il lavoro è completato quando lo stato e le notifiche attendono i discendenti del comando e l’output finale effettivo, oppure li identificano esplicitamente come non tracciati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- powershell
- Ambito
- cli, operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100