-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Closed as not planned
Closed as not planned
Copy link
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
Isolated cron jobs with delivery.mode: "announce" fail to deliver to Telegram with "Unsupported channel: telegram" error, even though Telegram works fine in the main session.
Environment
- OpenClaw Version: 2026.2.9
- OS: macOS 15.7.3 (ARM64)
- Node: v25.5.0
- Channel: Telegram (works in main session)
Steps to Reproduce
- Create an isolated cron job with Telegram delivery:
{
"name": "morning-brief",
"schedule": { "kind": "cron", "expr": "45 5 * * *", "tz": "America/Phoenix" },
"payload": {
"kind": "agentTurn",
"message": "Generate a morning brief..."
},
"sessionTarget": "isolated",
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "6940347212",
"bestEffort": true
},
"enabled": true
}-
Let the job run (or trigger manually with
cron run) -
Observe the error in job runs
Expected Behavior
The isolated cron job should deliver its output to Telegram via the delivery.announce mechanism, just as the main session can send messages to Telegram.
Actual Behavior
Job execution fails with:
Error: Request failed with status 404
at MessagingProvider.request (file:///.../messaging-provider.js:...)
...
responseBody: {
ok: false,
error_code: 404,
description: 'Not Found',
targetState: 'UNSUPPORTED_CHANNEL'
}
Full error from job run:
Failed to deliver run result: Error: Unsupported channel: telegram
Error: Request failed with status 404
at MessagingProvider.request (file:///opt/homebrew/lib/node_modules/openclaw/esm/platform/providers/messaging-provider.js:215:13)
...
errorInfo: {
kind: 'not_found_error',
statusCode: 404,
targetState: 'UNSUPPORTED_CHANNEL',
internal: false
}
Key Observations
- Main session Telegram works: Regular chat via Telegram functions normally — the bot token and config are valid
- Isolated sessions fail: Only cron jobs with
sessionTarget: "isolated"fail to deliver to Telegram - Channel adapter not found: The error suggests the gateway's cron runner cannot access the Telegram channel adapter, even though it's configured and working for the main session
- Config validation passes:
openclaw gateway statusshows Telegram as configured; no errors in gateway startup
Workarounds Attempted
- ✅ Removed explicit
modelfields from cron payloads (fixed the "model not allowed" error from 2026.2.9's stricter enforcement) - ❌ Telegram delivery still fails with the same "Unsupported channel" error
- ❌ Tried
delivery.bestEffort: true— job still fails
Related Issues
- [Bug] One-shot systemEvent cron jobs (deleteAfterRun) fire repeatedly on gateway restart #13845 — Similar cron delivery issues but different error (repeated firing, not channel unsupported)
- This appears to be a regression or gap in isolated session channel routing
Suggested Fix
The gateway's cron runner for isolated sessions should have access to the same channel adapters as the main session, or the delivery mechanism should route through the main session's channel infrastructure.
Additional Context
- 23 cron jobs affected (morning brief, workday check-ins, walter-watcher, etc.)
- Current workaround: Delivery fails silently with
bestEffort: true, but we lose the announce summary entirely - Alternative considered: Routing delivery through iCloud file sync to another agent instance, but that's high latency (~5 min) and hacky
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working