openclaw - 💡(How to fix) Fix [Bug]: memory-core dreaming cron job created with broken delivery config (no route) — diary never written [1 comments, 2 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#74929Fetched 2026-05-01 05:39:51
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Timeline (top)
closed ×1commented ×1cross-referenced ×1

The memory-core plugin creates an auto-managed cron job ("Memory Dreaming Promotion") with a delivery configuration that cannot succeed, causing the whole job to fail-closed. The dream diary is never written to DREAMS.md, and the user gets no dreams despite the feature being enabled and configured correctly.

Error Message

The auto-created cron job shows:

Root Cause

The memory-core plugin creates an auto-managed cron job ("Memory Dreaming Promotion") with a delivery configuration that cannot succeed, causing the whole job to fail-closed. The dream diary is never written to DREAMS.md, and the user gets no dreams despite the feature being enabled and configured correctly.

Fix Action

Workaround

Running openclaw cron edit <job-id> --best-effort-deliver sets delivery.bestEffort: true and allows the job to complete, producing diary entries correctly.

Code Example

Delivery: none -> last (last -> no route, will fail-closed: Delivering ...
RAW_BUFFERClick to expand / collapse

Summary

The memory-core plugin creates an auto-managed cron job ("Memory Dreaming Promotion") with a delivery configuration that cannot succeed, causing the whole job to fail-closed. The dream diary is never written to DREAMS.md, and the user gets no dreams despite the feature being enabled and configured correctly.

Observed behavior

The auto-created cron job shows:

Delivery: none -> last (last -> no route, will fail-closed: Delivering ...

Since the cron runs at 3 AM (default schedule) when no session is active, delivery to "last" has no target. The delivery failure appears to be treated as a fatal job error, preventing the actual dreaming logic (diary generation, memory promotion) from executing.

Expected behavior

The dream diary should be written to DREAMS.md regardless of delivery status. The cron job should either:

  • Use delivery.bestEffort: true by default (delivery failure should not kill the job), or
  • Not set a delivery target at all since dreaming writes directly to filesystem files (DREAMS.md, MEMORY.md, memory/.dreams/)

Workaround

Running openclaw cron edit <job-id> --best-effort-deliver sets delivery.bestEffort: true and allows the job to complete, producing diary entries correctly.

Environment

  • OpenClaw version: 2026.4.26 (be8c246)
  • OS: Linux (systemd service)
  • Gateway: loopback, port 18789

Related issues

  • #67016 (Dreaming UI lacks status info — would have made this easier to debug)
  • #65705 (Dreaming sweep re-triggers on heartbeat — similar auto-cron lifecycle issue)

extent analysis

TL;DR

The memory-core plugin's auto-managed cron job fails due to a delivery configuration issue, which can be worked around by setting delivery.bestEffort: true.

Guidance

  • The cron job's delivery configuration is set to none -> last, which fails when no session is active, causing the job to fail-closed.
  • To verify the issue, check the cron job's configuration and look for the delivery setting.
  • Running openclaw cron edit <job-id> --best-effort-deliver can be used as a temporary workaround to set delivery.bestEffort: true and allow the job to complete.
  • Consider updating the memory-core plugin to use delivery.bestEffort: true by default or not set a delivery target at all, as the dreaming logic writes directly to filesystem files.

Example

No code snippet is provided as it is not necessary for this issue.

Notes

The provided workaround only applies to the specific OpenClaw version (2026.4.26) and environment (Linux with systemd service) mentioned in the issue.

Recommendation

Apply the workaround by running openclaw cron edit <job-id> --best-effort-deliver to set delivery.bestEffort: true, as this allows the job to complete and produces diary entries 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…

FAQ

Expected behavior

The dream diary should be written to DREAMS.md regardless of delivery status. The cron job should either:

  • Use delivery.bestEffort: true by default (delivery failure should not kill the job), or
  • Not set a delivery target at all since dreaming writes directly to filesystem files (DREAMS.md, MEMORY.md, memory/.dreams/)

Still need to ship something?

×6

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

Back to top recommendations

TRENDING