-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
[Bug]: Cron isolated jobs fail Discord delivery with "SecretRefs not resolved against runtime snapshot" after v2026.5.22 #86545
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Type
Fields
Give feedbackNo fields configured for issues without a type.
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
After upgrading to OpenClaw v2026.5.22, cron jobs using sessionTarget: "isolated" with Discord delivery.mode: "announce" fail with the error:
OutboundDeliveryError: Discord bot token configured for account "default" is unavailable; resolve SecretRefs against the active runtime snapshot before using this account.
Steps to reproduce
1 Configure Discord token via systemd Environment=DISCORD_BOT_TOKEN=... (NOT in EnvironmentFile)
2Create a cron job with:
sessionTarget: "isolated"
delivery.mode: "announce" to Discord channel
3 Wait for job to execute or trigger manually
4 Job fails with SecretRefs resolution error
Expected behavior
Cron isolated jobs should inherit or resolve SecretRefs the same way as session:xxx targeted jobs.
Actual behavior
OpenClaw version
2026.5.22
Operating system
Linux (Ubuntu, kernel 6.17.0-23-generic) ubunu 24.4
Install method
No response
Model
ollama/kimi-k2.5:cloud
Provider / routing chain
Channel: Discord Delivery mode: announce Target: channel:<channel_id> Session target: isolated (fails) vs session:... (works)
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
Root Cause Analysis:
The new "runtime snapshot" for SecretRefs introduced in v2026.5.22 is not being shared with isolated cron sessions. Tokens set only via systemd Environment= (vs EnvironmentFile) appear unavailable to the isolated job context.
Workaround:
Move DISCORD_BOT_TOKEN from systemd Environment= directive into the EnvironmentFile (e.g., ~/.openclaw/gateway.systemd.env), then reload systemd and restart gateway.
Suggested Fix:
Ensure isolated cron sessions can resolve SecretRefs from the same sources as the main gateway process, or document that tokens must be in EnvironmentFile for cron compatibility.