Skip to content

[Bug]: Isolated cron + announce delivery marks as "delivered" but never calls Telegram sendMessage (2026.2.26) #29660

@Lamb-Yang-404

Description

@Lamb-Yang-404

Summary

Isolated cron job with announce delivery to Telegram marks delivered:true but never calls Telegram sendMessage API — user receives nothing.

Steps to reproduce

  1. Configure Telegram channel with a paired DM user
  2. Create an isolated cron job with announce delivery:

openclaw cron add
--name "test-isolated-announce"
--at "2026-02-28T09:45:18.968Z"
--session isolated
--message "Test message for isolated + announce mode."
--announce
--channel telegram
--to "<CHAT_ID>"
--delete-after-run
--wake now

  1. Wait for the job to fire.
  2. Check openclaw cron runs — shows delivered:true, deliveryStatus:"delivered"
  3. Check Telegram — no message received.
  4. Check gateway logs — no telegram sendMessage ok entry during announce phase.

Expected behavior

After the isolated agent turn completes, the announce summary should be delivered to the Telegram DM via sendMessage API. The log should show telegram sendMessage ok chat=<CHAT_ID>.

Actual behavior

  1. Cron fires on time, isolated agent turn completes successfully (~16s)
  2. Announce embedded run starts (runId=announce:v1:agent:main:cron:...), generates summary (~12s), isError=false
  3. Cron run record shows delivered:true, deliveryStatus:"delivered"
  4. NO telegram sendMessage ok log entry exists during or after the announce phase
  5. User receives nothing on Telegram

The system marks delivery as successful after the announce summary agent completes, but never actually calls the Telegram sendMessage API.

OpenClaw version

2026.2.26 (bc50708)

Operating system

Ubuntu 24.04 (x64)

Install method

npm global

Logs, screenshots, and evidence

Normal Telegram sends always produce this log:
  info gateway/channels/telegram telegram sendMessage ok chat=<CHAT_ID> message=XXX

Timeline from gateway log (2026-02-28):
  09:42:19 — Job created, scheduled for 09:45:18Z
  09:42:42 — Last real Telegram send before test: message=259
  09:45:19 — Cron fires, lane enqueue for isolated session
  09:45:35 — Announce embedded run starts (provider=zai, model=glm-5, messageChannel=telegram)
  09:45:47 — Announce embedded run ends (isError=false, durationMs=12320)
  09:45:47 — Agent outputs summary text successfully
  09:45:48 — Cron armTimer: no more jobs
  09:46:23 — `openclaw cron runs` shows: delivered:true, deliveryStatus:"delivered"

  *** No `telegram sendMessage ok` between 09:42:42 and 09:48:13 ***

The announce phase completed the summary agent run and marked delivery successful without calling Telegram API.

Impact and severity

Affected: All users running isolated cron jobs with announce delivery to Telegram DMs
Severity: High (blocks scheduled automation workflows)
Frequency: 100% reproducible
Consequence: Scheduled jobs (daily briefs, reminders, alerts) silently fail to deliver. Users receive no output. The delivered:true status makes debugging difficult since the system reports success.

Additional information

Related issues: #22298, #22430, #12929, #5339, #2937

Workaround: Using --session main --system-event instead of --session isolated --announce delivers messages correctly to Telegram.

Regular Telegram messages (user-initiated chat) work perfectly throughout — only announce delivery from isolated cron is affected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions