Skip to content

[Bug]: v2026.3.11 cron manual runs enqueue but do not appear in run history; Telegram isolated announce delivery also flaky #44232

@rray89

Description

@rray89

Bug type

Regression (worked before, now fails)

Summary

After upgrading OpenClaw from 2026.3.8 to 2026.3.11, isolated cron jobs regress in multiple ways: openclaw doctor --fix does not clear legacy cron normalization warnings, manual cron runs can enqueue without ever appearing in run history, and Telegram announce delivery for isolated cron jobs is flaky.

Steps to reproduce

  1. Start from a working OpenClaw setup on macOS with Telegram enabled and cron jobs configured using:
  • sessionTarget: "isolated"
  • delivery.mode: "announce"
  1. Upgrade OpenClaw from 2026.3.8 to 2026.3.11: openclaw update --yes

  2. Run doctor: openclaw doctor

  3. Observe the legacy cron normalization warning.

  4. run openclaw doctor --fix

  5. run doctor again openclaw doctor

  6. Force-run an isolated cron job.

  7. Check cron run history for that job.

  8. Optionally, test a Telegram-targeted isolated cron job with explicit announce delivery:

{
"mode": "announce",
"channel": "telegram",
"to": "telegram:<redacted>"
}

Expected behavior

  • openclaw doctor --fix should clear legacy cron payload normalization warnings if the jobs are already normalized.
  • Forced cron runs should appear in cron run history and complete with either success or a visible failure record.
  • Isolated Telegram announce cron jobs with explicit to should deliver successfully or at least record a visible failure in cron run history.

Actual behavior

  • openclaw doctor --fix completes, but openclaw doctor still reports legacy cron payload normalization warnings afterward.
  • Manual cron runs can return success/enqueued, but no corresponding entry appears in cron run history.
  • One manual cron run became stuck with runningAtMs set and no finished run entry.
  • A Telegram-targeted isolated cron job failed with: Delivering to Telegram requires target <chatId>
  • Recreating the flaky cron jobs from scratch with explicit Telegram delivery target improved the config shape, but forced manual runs still did not reliably appear in cron run history.

Additional context:

  • Telegram enabled
  • cron jobs use sessionTarget: "isolated"
  • install type: pnpm
  • local gateway on macOS

OpenClaw version

v2026.3.11

Operating system

macOS 26.3.1 (arm64)

Install method

No response

Model

openai-codex/gpt-5.4

Provider / routing chain

openclaw -> openai-codex -> gpt-5.4

Config file / key location

No response

Additional provider/model setup details

No response

Logs, screenshots, and evidence

doctor warning after fix:
Legacy cron job storage detected at ~/.openclaw/cron/jobs.json.
- 6 jobs needs payload kind normalization
Repair with openclaw doctor --fix to normalize the store before the next scheduler run.


telegram deliver failure: 
Delivering to Telegram requires target <chatId>

Example of manual run being accepted but not surfacing in history:
{
"ok": true,
"enqueued": true,
"runId": "manual:<redacted>:..."
}

Impact and severity

No response

Additional information

Related issues / possibly overlapping
#42170
#42960
#43452
#43796
#44047
#44054

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    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