github / github/copilot-cli

Background subagent start events deferred until parent task completes (1.0.83)

Open
#4,760 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:agents
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Observed behavior

On macOS arm64 with the installed @github/copilot 1.0.83 runtime, two background task calls returned handles immediately, but matching subagent.started events did not appear until approximately 14 minutes later, immediately after the parent called task_complete. The parent continued using tools during that interval.

Sanitized relative timeline

Times are relative to the first background task request; task-call IDs were correlated locally and are omitted here.

  • T+0.000s / +0.001s: two task requests with mode=background.
  • Handles returned within 11ms; subsequent read_agent responses reported running and zero completed turns.
  • T+303.291s: two separately scoped synchronous task requests. Matching subagent.started events appeared within 23ms.
  • T+570.272s: write_agent stop instructions sent to the background tasks; messages were queued, not cancellation.
  • T+852.718s: parent task_complete called.
  • T+852.793s / +852.795s: matching subagent.started events for the original background requests.
  • First local work markers followed approximately 6s and 11s later. Both background tasks completed their original work, then processed the queued stop instructions.
Expected behavior

Background tasks should begin independently while the parent performs unrelated work, or expose a queued/deferred state rather than imply active execution. If parent-turn completion is a prerequisite, document and surface that constraint.

Reproduction outline (not yet reduced to a deterministic repro)

Launch two small background tasks that record a first-work timestamp; continue unrelated parent tool work; compare task submission, subagent.started, first-work marker and parent completion events. In the observed session both start events aligned within 77ms of parent completion.

Limits

This is event-level evidence of deferred dispatch, not proof of a particular scheduler defect. No dispatcher source was examined. Background and synchronous comparisons used different models, so they do not isolate model versus execution-mode effects. The background completion duration included the pre-start interval. No raw transcripts, source code, credentials or environment files are attached.

Potentially related lifecycle discussion: #4101, although that report concerns write_agent blocking rather than initial background task dispatch.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reproduction outline and compare task submission, subagent.started, first-work, and parent completion events for background tasks. Then investigate the dispatcher or lifecycle path, using the timeline and synchronous-task comparison as context. Done means background work starts independently or its deferred state and parent-completion constraint are surfaced clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
github
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.