Bug type
Behavior bug (incorrect output/state without crash)
Summary
When delivery.mode = "none" is set in a cron job config, the system incorrectly reports lastDeliveryStatus: "not-delivered" instead of "not-requested".
Steps to reproduce
- Create a cron job with
delivery: { mode: "none" }
- Wait for job to run
- Check
lastDeliveryStatus
Expected behavior
Expected: "not-requested" (or similar non-failure state)
Actual behavior
Actual: "not-delivered"
OpenClaw version
2026.3.8
Operating system
Windows Server 2022
Install method
npm global
Model
minimax/MiniMax-M2.5
Provider / routing chain
openclaw → cloudflare-ai-gateway → minimax
Config file / key location
Jobs configured via openclaw cron add with delivery: { mode: "none" }
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Cron job: digest-generator
delivery: { mode: "none" }
lastDeliveryStatus: "not-delivered" ← WRONG
The delivery was NOT requested, so status should NOT be "not-delivered".
Impact and severity
- Affected: Users with cron jobs using
delivery.mode = "none"
- Severity: Medium (telemetry only, no functional impact)
- Frequency: 100% - always shows wrong status
- Consequence: False "failed" alerts, confusing health reports
Additional information
Root cause: Code checks legacy payload.deliver field instead of new payload.delivery.mode.
Proposed fix:
const deliveryMode =
payload?.delivery?.mode ??
(payload?.deliver === true ? "announce"
: payload?.deliver === false ? "none"
: "auto");
Test cases:
| Input |
Expected |
{ delivery: { mode: "none" }, to: "123" } |
"not-requested" ✅ |
{ delivery: { mode: "announce" } } + send fails |
"not-delivered" ✅ |
This preserves real failure detection while fixing false telemetry.
github-issue-delivery-mode-bug.md
Bug type
Behavior bug (incorrect output/state without crash)
Summary
When
delivery.mode = "none"is set in a cron job config, the system incorrectly reportslastDeliveryStatus: "not-delivered"instead of"not-requested".Steps to reproduce
delivery: { mode: "none" }lastDeliveryStatusExpected behavior
Expected:
"not-requested"(or similar non-failure state)Actual behavior
Actual:
"not-delivered"OpenClaw version
2026.3.8
Operating system
Windows Server 2022
Install method
npm global
Model
minimax/MiniMax-M2.5
Provider / routing chain
openclaw → cloudflare-ai-gateway → minimax
Config file / key location
Jobs configured via
openclaw cron addwithdelivery: { mode: "none" }Additional provider/model setup details
No response
Logs, screenshots, and evidence
Cron job: digest-generator delivery: { mode: "none" } lastDeliveryStatus: "not-delivered" ← WRONG The delivery was NOT requested, so status should NOT be "not-delivered".Impact and severity
delivery.mode = "none"Additional information
Root cause: Code checks legacy
payload.deliverfield instead of newpayload.delivery.mode.Proposed fix:
Test cases:
{ delivery: { mode: "none" }, to: "123" }"not-requested"✅{ delivery: { mode: "announce" } }+ send fails"not-delivered"✅This preserves real failure detection while fixing false telemetry.
github-issue-delivery-mode-bug.md