-
-
Notifications
You must be signed in to change notification settings - Fork 53k
Description
Summary
Isolated cron job with announce delivery to Telegram marks delivered:true but never calls Telegram sendMessage API — user receives nothing.
Steps to reproduce
- Configure Telegram channel with a paired DM user
- 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
- Wait for the job to fire.
- Check
openclaw cron runs— shows delivered:true, deliveryStatus:"delivered" - Check Telegram — no message received.
- Check gateway logs — no
telegram sendMessage okentry 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
- Cron fires on time, isolated agent turn completes successfully (~16s)
- Announce embedded run starts (runId=announce:v1:agent:main:cron:...), generates summary (~12s), isError=false
- Cron run record shows delivered:true, deliveryStatus:"delivered"
- NO
telegram sendMessage oklog entry exists during or after the announce phase - 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.