Skip to content

[Bug] sessions_spawn announce not delivering to Signal requester session #23617

@QuietAnima

Description

@QuietAnima

Description

Sub-agent announce messages are not being delivered back to the requester session when the requester is a Signal DM channel. Subagents spawn and complete successfully, but the announce step never posts results back to the parent session.

Environment

  • OpenClaw version: 2026.2.21-2
  • Platform: Raspberry Pi 5 (aarch64), Ubuntu/Debian
  • Channel: Signal (direct message)
  • Node.js: v25.4.0

Steps to Reproduce

  1. From a Signal DM session, call sessions_spawn with task: "Reply with exactly: ANNOUNCE TEST SUCCESSFUL"
  2. Subagent accepts and runs (returns {status: "accepted", childSessionKey: "agent:main:subagent:<uuid>"})
  3. Wait for subagent to complete (status changes to "done", ~20 seconds)
  4. Check requester session's chat.history for new user messages containing the announce

Expected Behavior

An announce message should be injected into the requester session containing the subagent's result, status, runtime stats, token usage, and session metadata (as documented at https://docs.openclaw.ai/tools/subagents#announce).

Actual Behavior

No announce message arrives. The requester session's chat.history shows no new messages after the sessions_spawn tool result. The subagent completes successfully (verified via /subagents list, /subagents info, and chat.history on the child session), but the announce delivery step appears to silently fail.

Additional Context

  • Upgraded from v2026.2.19-2 to v2026.2.21-2 (which includes PR Subagents: restore announce chain + fix nested retry/drop regressions #22223 announce fix) — issue persists
  • Gateway was fully restarted after upgrade
  • Tested 5+ times with different tasks — announce never delivers
  • No announce-related errors visible in gateway logs
  • Config: agents.defaults.subagents.maxConcurrent: 8, no explicit announce config (docs say it's automatic)
  • Subagent token usage is correct (~3.4-3.9K input tokens, confirming lightweight context injection works)
  • The subagent-notify plugin approach also failed independently (plugin API doesn't expose tool runner in service context)

Workaround

Using openclaw agent --session-id <id> --message <task> --json via CLI subprocess + openclaw message send for notification delivery.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions