-
-
Notifications
You must be signed in to change notification settings - Fork 69.4k
[Bug]: Manual cron run enqueues but never executes on Linux (2026.3.8) #41266
Copy link
Copy link
Closed
Description
Summary
Manual cron job execution via openclaw cron run <jobId> enqueues successfully but the embedded runner never starts the LLM call. Job is marked as "running" (runningAtMs set) but produces zero activity until it times out after 1200s.
Scheduled automatic execution works fine. Only manual triggers are broken.
Environment
- OS: Linux 6.8.0-100-generic (x64)
- Node: v22.22.0
- OpenClaw: 2026.3.8 (3caab92)
- Gateway: local loopback 127.0.0.1:18789
Steps to reproduce
- Have a working cron job (ours ran successfully on schedule at 12:15 UTC today)
- Run
openclaw cron run <jobId> - CLI returns
{ enqueued: true, runId: "manual:..." } runningAtMsis set injobs.json- Zero LLM/agent/cron activity in gateway logs
- Job sits "running" until timeout (1200s) with
lane wait exceeded: lane=cron
What works ✅
- Scheduled automatic cron execution (ran fine at 12:15 UTC)
cron add,list,status,remove,runs,edit- Simple one-shot
--atcrons (first run after gateway restart) - Sub-agent spawns from main session
What fails ❌
openclaw cron run <jobId>— tested 8+ times across multiple gateway restarts- Tested with both
opusandsonnetmodels - Tested with
isolatedandmainsession targets - Tested with
delivery.mode: "none"anddelivery.mode: "announce" - Tested with fresh sessions (purged all 78 cron session mappings from sessions.json)
Log behavior
# Enqueue succeeds
{ "enqueued": true, "runId": "manual:36f76eaf-...:1773069058800:1" }
# Gateway logs show NOTHING cron-related after enqueue
# Only inbound/outbound WhatsApp from other sessions
# No LLM call, no tool invocation, no error
# Eventually times out:
lane wait exceeded: lane=cron waitedMs=1199897 queueAhead=0
FailoverError: LLM request timed out
Key observations
- A simple one-shot
--atcron that just sends a WhatsApp message worked immediately after a gateway restart - The next manual
cron runon a different job (same restart) did not work - This suggests the manual trigger path has a different code path than scheduled execution
openclaw statusshows the cron session exists with 46k tokens cached, but no new activity
Possibly related
- Bug: cron run (manual trigger) times out without execution on macOS #28866 reports the same symptoms on macOS — this confirms it also affects Linux
- bug: Stale cron locks persist across gateway restarts #30096 about stale cron locks
Workaround
None found. Scheduled execution works, so time-critical crons can be scheduled with --at as a workaround, but cron run for ad-hoc testing is broken.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.