Skip to content

[Bug]: Cron jobs with delivery.to set to specific Matrix room post to wrong room #25318

@rube-de

Description

@rube-de

Summary

Scheduled cron jobs with delivery.mode: "announce" and explicit delivery.to Matrix room ID are posting to the wrong room (#general instead of the configured #cron-log room). This appears to be a regression introduced since v2026.2.22.

Steps to reproduce

  1. Create a cron job with explicit Matrix room delivery target:
openclaw cron add \
  --name "test-delivery" \
  --cron "*/5 * * * *" \
  --session isolated \
  --message "Test delivery routing" \
  --announce \
  --channel matrix \
  --to "!<cron-log roomid>:matrix.org"
  1. Wait for the scheduled run to execute
  2. Observe which room receives the announcement

Expected behavior

The cron job announcement should be posted to the room specified in delivery.to:

!<cron-log roomid>:matrix.org (#cron-log)

Actual behavior

The cron job announcement is posted to a different room:

!<general roomid>:matrix.org (#general)

The job state shows lastDeliveryStatus: "delivered" indicating OpenClaw believes delivery succeeded, but to the wrong target.

OpenClaw version

2026.2.23

Operating system

Xubuntu 24.04

Install method

npm global

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

This affects multiple cron jobs that were working correctly before the v2026.2.22 upgrade. All have identical delivery config structure.

The v2026.2.22 changelog includes: "Cron/Delivery: route text-only announce jobs with explicit thread/topic targets through direct outbound delivery" this change may have introduced the regression.

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