openclaw - ✅(Solved) Fix Bug: background ACP/subagent completions in group channels can stop at generic task-status messages instead of parent-agent replies [1 pull requests, 2 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
openclaw/openclaw#77251Fetched 2026-05-05 05:50:44
View on GitHub
Comments
2
Participants
2
Timeline
3
Reactions
2
Author
Timeline (top)
commented ×2cross-referenced ×1

In group/channel contexts, background ACP/subagent completions can surface only a generic lifecycle message such as:

  • Background task done: ...
  • Background task failed: ...
  • Background task timed out: ...

without a real follow-up reply from the parent agent explaining the actual result.

This leaves the user with completion telemetry but not the conversational answer they were waiting for.

Root Cause

In group/channel contexts, background ACP/subagent completions can surface only a generic lifecycle message such as:

  • Background task done: ...
  • Background task failed: ...
  • Background task timed out: ...

without a real follow-up reply from the parent agent explaining the actual result.

This leaves the user with completion telemetry but not the conversational answer they were waiting for.

Fix Action

Fixed

PR fix notes

PR #77365: fix(tasks): route group acp completions through parent

Description (problem / solution / changelog)

Summary

  • route group-channel ACP terminal task updates through the parent session instead of direct channel delivery
  • add a regression test covering group-channel requester sessions
  • document the group-channel completion routing behavior

Fixes #77251

Tests

  • pnpm test src/tasks/task-registry.test.ts
  • pnpm exec oxfmt --check --threads=1 src/tasks/task-registry.ts src/tasks/task-registry.test.ts

Changed files

  • CHANGELOG.md (modified, +5/-0)
  • docs/automation/tasks.md (modified, +1/-1)
  • src/tasks/task-registry.test.ts (modified, +49/-0)
  • src/tasks/task-registry.ts (modified, +10/-1)

Code Example

Background task done: <task summary>
RAW_BUFFERClick to expand / collapse

Summary

In group/channel contexts, background ACP/subagent completions can surface only a generic lifecycle message such as:

  • Background task done: ...
  • Background task failed: ...
  • Background task timed out: ...

without a real follow-up reply from the parent agent explaining the actual result.

This leaves the user with completion telemetry but not the conversational answer they were waiting for.

Why this is a problem

For background/delegated work in group channels, the desirable flow is:

  1. child/background task stays internal
  2. parent conversation receives completion context
  3. parent agent sends the user-facing summary

Instead, the current behavior can stop after step 1 with only a raw completion marker visible in the channel.

Reproduction

  1. Start a conversation in a group/channel context.
  2. Ask the agent to delegate a meaningful task through a background ACP or subagent run.
  3. Wait for the delegated task to complete.
  4. Observe the visible channel output.

Actual behavior

The channel receives only a generic lifecycle line such as:

Background task done: <task summary>

or similar failed/timed out variants, with no real user-facing completion summary from the parent agent.

Expected behavior

When the background task completes:

  • the child/background output should remain internal
  • the parent session should receive the completion event/context
  • the parent agent should send the actual user-facing summary

If a lifecycle marker is retained at all, it should be secondary telemetry rather than the only visible response.

Likely code area

The behavior appears related to the terminal task delivery path in src/tasks/task-registry.ts, where direct generic completion delivery to the requester origin can bypass a proper parent-agent conversational handoff.

Related context

Possibly adjacent to earlier UX issues around delegated/background output in group rooms, but this issue is specifically about the missing parent-agent completion summary rather than about adding config toggles.

extent analysis

TL;DR

Modify the terminal task delivery path in src/tasks/task-registry.ts to ensure parent-agent conversational handoff for background task completions.

Guidance

  • Review the task-registry.ts file to identify where the generic completion delivery bypasses the parent-agent handoff.
  • Verify that the parent agent is correctly receiving the completion event/context and sending the user-facing summary in non-group/channel contexts.
  • Check for any conditional logic that might be causing the parent-agent summary to be skipped in group/channel contexts.
  • Consider adding logging or debugging statements to track the flow of completion events and summaries in group/channel contexts.

Example

No code snippet is provided due to the lack of specific implementation details in the issue.

Notes

The fix may require changes to the task delivery path to prioritize parent-agent handoff over direct generic completion delivery. The issue may be related to earlier UX issues, but the focus is on ensuring the parent-agent completion summary is sent correctly.

Recommendation

Apply a workaround to modify the task-registry.ts file to ensure proper parent-agent handoff, as the root cause appears to be related to the terminal task delivery path.

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…

FAQ

Expected behavior

When the background task completes:

  • the child/background output should remain internal
  • the parent session should receive the completion event/context
  • the parent agent should send the actual user-facing summary

If a lifecycle marker is retained at all, it should be secondary telemetry rather than the only visible response.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING