Skip to content

[Bug]: Cron announce delivery silently fails with multi-account Discord setup #23853

@GarySiu

Description

@GarySiu

Summary

Cron announce delivery silently fails or reports "cron announce delivery failed" when multiple Discord bot accounts are configured. Jobs run successfully but output is never delivered to the target.

Steps to reproduce

  1. Configure two Discord bot accounts in channels.discord.accounts
  2. Create an isolated cron job with announce delivery:
openclaw cron add \
  --name "Test" \
  --at "5m" \
  --session isolated \
  --message "Say: TEST" \
  --announce \
  --channel discord \
  --to "user:<discord_user_id>" \
  --delete-after-run
  1. Force run: openclaw cron run

Expected behavior

Message delivered to the Discord user's DMs.

Actual behavior

  • Job completes, status shows "ok", but nothing is delivered
  • Sometimes status shows "error" with "cron announce delivery failed"
  • No indication of which account was attempted or why delivery failed

OpenClaw version

2026.2.19-2 and 2026.2.21-2 (broken on both)

Operating system

Ubuntu 22.04 x64

Install method

npm global

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

Additional context

  • With a single Discord account, delivery worked (confirmed successful runs on Feb 20 morning). Failures began Feb 20 afternoon with no config changes — possibly after a gateway internal state change.
  • The message tool works fine from an active session when accountId is explicitly specified. The announce system appears unable to resolve which account to use for outbound delivery.
  • Possibly related to [Bug] sessions_spawn announce not delivering to Signal requester session #23617

Workaround

Use sessionTarget: "main" + wakeMode: "now" + payload.kind: "systemEvent" instead of isolated jobs with announce. The system event triggers a heartbeat, wakes the agent, and the agent sends via the message tool with an explicit accountId. Requires heartbeat to be enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    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