Detached PowerShell command is reported completed while its child process is still running
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza por el manejo detached asíncrono de la herramienta powershell integrada y el punto de entrada read_powershell en Windows. Reproduce el informe con un proceso hijo mínimo de larga duración y compara después el estado detached, las notificaciones de finalización y el receipt final. Se considera terminado cuando el estado y las notificaciones esperan a los descendientes del comando y a la salida final real, o los identifican explícitamente como no rastreados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- powershell
- Área
- cli, operating-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100