Skip to content

BUG: Subagent completion announce fails with "Outbound not configured for channel" for named agents without channel bindings #55437

@kAIborg24

Description

@kAIborg24

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After upgrading from v2026.3.11 to v2026.3.24, subagent completion announces fail with Error: Outbound not configured for channel: telegram when the child agent is a named agent configured without channel bindings. The announce mechanism appears to resolve outbound through the child agent's channel config instead of the requester's. Zero announce failures on v2026.3.11 across 5+ days. 80+ failures across 2 days on v2026.3.24.

Steps to reproduce

  1. Configure a multi-agent setup with a named agent that has NO channel bindings:

{
"id": "my-worker",
"name": "Worker",
"workspace": "/path/to/worker",
"model": "sonnet",
"sandbox": { "mode": "off" },
"tools": { "deny": ["group:messaging", "group:automation", "group:memory", "group:nodes"] }
}

  1. Main agent is bound to Telegram
  2. From the main agent, spawn the named agent: sessions_spawn(agentId: "my-worker", mode: "run", task: "...")
  3. Wait for the worker to complete its task
  4. Completion announce fails 3x and gives up

Expected behavior

Completion event announced back to the requester's session via the requester's channel (Telegram). The child agent should not need channel bindings — it's a headless worker that reports back to its parent.

Actual behavior

Announce fails with:

Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
[warn] Subagent announce give up (retry-limit) run= child=agent::subagent: requester=agent: retries=3

During the retry window, inbound Telegram messages queue up and are not processed. Multiple pending deliveries recovered after manual gateway restart.

OpenClaw version

2026.3.24 (regression from 2026.3.11)

Operating system

Ubuntu 24.04 LTS (Linux 6.18.7 x64)

Install method

npm global

Model

anthropic/claude-sonnet-4-6 (child agent) / anthropic/claude-opus-4-6 (requester)

Provider / routing chain

openclaw -> anthropic (direct)

Additional provider/model setup details

Bug is in subagent announce routing, not model-specific. OAuth token auth (Claude Max subscription).

Logs, screenshots, and evidence

Gateway logs (UTC):

error Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
error Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
[warn] Subagent announce give up (retry-limit) run= child=agent::subagent: requester=agent: retries=3 endedAgo=67s

error Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
error Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
error Subagent completion direct announce failed for run : Error: Outbound not configured for channel: telegram
[warn] Subagent announce give up (retry-limit) run= child=agent::subagent: requester=agent: retries=3 endedAgo=29s

Regression data:
• Before update (v2026.3.11): 0 announce failures across 5+ days
• After update to v2026.3.24: 31 failures in first day
• Following day (v2026.3.24): 49 failures
• Every failure: identical error "Outbound not configured for channel: telegram"

Impact and severity

High — Message delivery pipeline stalls during announce retries. Inbound Telegram messages queue up and are not delivered to the agent until retries exhaust (3 attempts) or gateway is manually restarted. Completion results eventually arrive through a webchat fallback path, but with significant delay. Affects any multi-agent setup where specialized agents are configured without channel bindings — the documented pattern for headless background agents.

Additional information

The subagent docs state: "On completion, the sub-agent announces a summary/result message back to the requester chat channel." On v2026.3.11, this correctly routed through the requester's channel. On v2026.3.24, the announce appears to resolve outbound through the child agent's channel configuration, which doesn't exist for headless named agents.

Workaround: None confirmed. Manual gateway restart clears blocked deliveries. Completion results arrive via webchat fallback but the stalled pipeline causes lost inbound messages.

Related: #54931 (Discord health-monitor crash — another v2026.3.24 delivery regression), #54936 (runTimeoutSeconds bypass — config default not applied)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    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