openclaw - 💡(How to fix) Fix Cron delivery status shows 'delivered' but message was never actually sent to channel [1 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#69594Fetched 2026-04-22 07:50:28
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Error Message

  • No error logs at all
RAW_BUFFERClick to expand / collapse

Bug Description

Cron jobs with delivery.mode: "announce" show lastDeliveryStatus: "delivered" in jobs.json, but the target channel (WeChat/企业微信) never receives the message.

Observed Behavior

  • state.lastDeliveryStatus = "delivered"
  • state.lastRunStatus = "ok"
  • Gateway log only shows resolveOutboundAccountId: single account, using ...
  • No outbound: text sent OK log entry
  • No error logs at all

The same channel works perfectly when triggered manually via openclaw cron run — the manual trigger produces both outbound: and text sent OK log entries and the message arrives.

Environment

  • OpenClaw version: 2026.4.15 (041266a)
  • Channel: openclaw-weixin (企业微信)
  • Session target: isolated with agentTurn payload
  • OS: Linux 6.17.0-20-generic (x64)

Steps to Reproduce

  1. Create a cron job with delivery.mode: "announce", delivery.channel: "openclaw-weixin", delivery.to: "<wechat-id>"
  2. Wait for it to trigger automatically at scheduled time
  3. Check jobs.json — shows delivered
  4. Check gateway log — only resolveOutboundAccountId, no outbound or text sent OK
  5. Check WeChat — no message received

Expected Behavior

Either:

  • The message is actually sent to the channel, OR
  • lastDeliveryStatus reflects the real delivery outcome (e.g., "not-delivered" or "failed")

Additional Notes

  • Manually triggering the same job via openclaw cron run works correctly and the message is delivered
  • The issue appears intermittent — some scheduled runs deliver successfully, others show the phantom "delivered" status
  • This has been observed across multiple cron jobs (晨间收敛, 晚间汇报, 晚间定稿) on different days

extent analysis

TL;DR

Investigate the difference in behavior between manual and scheduled cron job triggers to identify why the outbound: text sent OK log entry is missing for scheduled runs.

Guidance

  • Review the cron job configuration and scheduling mechanism to ensure that all necessary dependencies and environment variables are correctly set for scheduled runs.
  • Compare the log entries for manual and scheduled triggers to identify any discrepancies in the execution flow that might explain the missing outbound log entry.
  • Verify that the openclaw-weixin channel implementation correctly handles the delivery.mode: "announce" and agentTurn payload for scheduled jobs.
  • Check for any rate limiting or throttling mechanisms on the WeChat side that might be affecting the delivery of messages triggered by scheduled cron jobs.

Example

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

Notes

The intermittent nature of the issue and the fact that manual triggers work correctly suggest that the problem might be related to the scheduling or environment setup rather than the channel implementation itself.

Recommendation

Apply a workaround by manually triggering the cron job via openclaw cron run until the root cause of the issue is identified and fixed, as this approach has been shown to work correctly.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Cron delivery status shows 'delivered' but message was never actually sent to channel [1 participants]