claude-code - 💡(How to fix) Fix [FEATURE] Cowork Dispatch should proactively notify user when child tasks complete [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#54214Fetched 2026-04-29 06:33:16
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
labeled ×2commented ×1

Root Cause

Failed workaround attempt: I tried building a 5-min cron heartbeat that scans for completed-but-un-relayed child sessions and surfaces them. Spent meaningful time wiring up a ledger and a scheduled task. Disabled it within the day because the scheduled-task notification surface ALSO doesn't reach the user — notifyOnCompletion: true digests land in sibling sessions that the user doesn't see. So the workaround hit a deeper version of the same gap. (I'll file the scheduled-tasks-notification gap as a separate issue if it's not already known.)

Fix Action

Fix / Workaround

When Cowork Dispatch spawns child tasks via start_task or start_code_task, completions don't reliably surface to the user. Even when the user is actively in the conversation, Dispatch frequently fails to relay a completed child until the user prompts with something like "is X done?" or "any updates?". This forces the user into a polling pattern instead of getting pushed updates.

Concrete example (2026-04-27): Across one ~25-turn Dispatch session orchestrating a typical multi-task workflow (~15 child tasks spawned), roughly half of completions required me to ask before they were relayed, despite the system clearly knowing they were done — I'd see system reminders saying "Task X completed. Use read_transcript..." but Dispatch wouldn't act on them without a user nudge.

What's narrow about this: even for self-spawned children where Dispatch DOES receive a system reminder saying "Task X completed", the model waits for a user prompt before acting. The signal is present; the model behavior is the gap.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

When Cowork Dispatch spawns child tasks via start_task or start_code_task, completions don't reliably surface to the user. Even when the user is actively in the conversation, Dispatch frequently fails to relay a completed child until the user prompts with something like "is X done?" or "any updates?". This forces the user into a polling pattern instead of getting pushed updates.

Concrete example (2026-04-27): Across one ~25-turn Dispatch session orchestrating a typical multi-task workflow (~15 child tasks spawned), roughly half of completions required me to ask before they were relayed, despite the system clearly knowing they were done — I'd see system reminders saying "Task X completed. Use read_transcript..." but Dispatch wouldn't act on them without a user nudge.

What's narrow about this: even for self-spawned children where Dispatch DOES receive a system reminder saying "Task X completed", the model waits for a user prompt before acting. The signal is present; the model behavior is the gap.

Proposed Solution

Ranked from cheapest to most architectural:

  1. System-prompt change (cheapest fix — pure orchestration behavior): have Dispatch run a list_sessions check at the start of every user turn and proactively relay any newly-idle children BEFORE responding to the user's new message.
  2. Push-trigger architecture: when a child task completes, fire a system message into the Dispatch session that triggers a turn for it to relay the completion, even if the user hasn't messaged.
  3. UI surface: a "Tasks" tray/inbox in the Cowork sidebar that shows newly-idle child sessions with badges, so the user can see at a glance what's complete.

Any one of these would close the gap.

Alternative Solutions

Failed workaround attempt: I tried building a 5-min cron heartbeat that scans for completed-but-un-relayed child sessions and surfaces them. Spent meaningful time wiring up a ledger and a scheduled task. Disabled it within the day because the scheduled-task notification surface ALSO doesn't reach the user — notifyOnCompletion: true digests land in sibling sessions that the user doesn't see. So the workaround hit a deeper version of the same gap. (I'll file the scheduled-tasks-notification gap as a separate issue if it's not already known.)

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

Reproduction: Open a Cowork Dispatch session. Spawn 10–15 child tasks via start_task or start_code_task. Continue interacting with Dispatch on other matters. Observe that approximately half of child completions are not relayed until the user explicitly asks "is X done?" or "any updates?". Despite the parent session receiving system reminders confirming completion, the model defers acting on them.

Related issues (overlapping symptoms, different framings):

  • #43960 — "Dispatch/Cowork should have visibility into all Claude Code sessions" — captures the "user has to ask Dispatch about child tasks" symptom but frames as a visibility gap rather than a model-behavior gap.
  • #33563 — "Cowork scheduled tasks should send feedback back to parent session/inbox" — adjacent: scheduled-task → parent feedback channel.
  • #32085 — "Background agent resume creates retry loop, model doesn't wait for completion" — same architectural failure: model not auto-acting on completion signals.
  • #21048 — "Background task completion notification not appearing" — closest semantic match.
  • #24983 — "External event sources to trigger messages in active conversation" — acknowledges no mechanism to wake an active session.

This issue is narrower than any of those: even for self-spawned children where Dispatch DOES receive a system reminder saying "Task X completed", the model waits for a user prompt before acting. The signal is present; the model behavior is the gap.

Cowork is a research preview and the orchestration loop is hard — appreciate the work going in. This particular gap was the most-felt friction point in a real session.

Additional Context

No response

extent analysis

TL;DR

Implementing a system-prompt change to run a list_sessions check at the start of every user turn could proactively relay newly-idle children and address the issue.

Guidance

  • The proposed solution of running a list_sessions check at the start of every user turn seems promising, as it leverages existing system reminders to trigger the relay of completed child tasks.
  • To verify the effectiveness of this solution, test it with a variety of workflows and child task completions to ensure that the model consistently relays completions without requiring user prompts.
  • Consider implementing a fallback mechanism to handle cases where the list_sessions check fails or times out, to prevent completions from being missed.
  • Review related issues (#43960, #33563, #32085, #21048, #24983) to ensure that the chosen solution does not introduce new gaps or inconsistencies in the system.

Example

No code example is provided, as the issue does not include specific code snippets or APIs that can be modified.

Notes

The solution may need to be refined based on the specific implementation details of the list_sessions check and the system reminders. Additionally, the effectiveness of this solution may depend on the frequency and timing of user turns, as well as the volume of child tasks being spawned.

Recommendation

Apply the proposed system-prompt change solution, as it appears to be the most straightforward and effective way to address the issue without introducing significant architectural changes.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING