Skip to content

[Bug]: Custom session cron jobs do not persist in destination session. #74743

Description

@DreamNaber

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

When you create a cron job with --session session:custom-id (see docs), responses to the cron prompt appear in the destination channel but not in the session logs for that channel. As a result these injected responses are effectively invisible to the channel agent.

Steps to reproduce

Get your destination session id

Search through .openclaw/agents/main/sessions/sessions.json to find the sessionId of the session where you want the cron response to appear.

Create a new cron job

openclaw cron add \
  --name "Check-in" \
  --cron "0 18 * * *" \
  --session "session:<sessionId>" \
  --message "ask me about my day so far" \
  --wake now \
  --channel "discord" \
  --to "channel:<channelId>"

After you create the job, the terminal will print the job config. Get the jobId.

Force run the job

openclaw cron run <jobId>

It might take a minute or more for the job to run.

Ask the agent what it JUST sent you...

Mine had no memory of the injected response.

Remove job after testing (optional)

openclaw cron remove <jobId>

Expected behavior

Clawdbot: How is your day going? <--- Injected cron response
User: What was your last message to me?
Clawdbot: I just asked you how your day was going.

Actual behavior

Clawdbot: How is your day going? <--- Injected cron response
User: What was your last message to me?
Clawdbot: Message sent before injected cron response

OpenClaw version

2026.4.27

Operating system

Ubuntu 24.04.4 LTS

Install method

npm global

Model

poe-api/claude-haiku-4.5

Provider / routing chain

openclaw > poe-api > claude-haiku-4.5

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Bottom line: Users expect the agent they are interacting with to remember what it JUST said to them. While a few users are using the wrong setting 1) --session isolated probably shouldn't be the default for announced cron jobs; 2) --session session:custom-id is not meeting expectations either.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingbug:behaviorIncorrect behavior without a crashclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:data-lossCan lose, corrupt, or silently drop user/session/config data.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    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