Skip to content

# OpenClaw Bug Report: One-Time Scheduled Jobs Not Firing #8558

@cdbtc

Description

@cdbtc

Summary

One-time scheduled jobs using "kind": "at" and specific-date "kind": "cron" do not fire, while recurring jobs work correctly.

Environment

  • OpenClaw Version: 2026.2.2-3
  • OS: Linux 6.8.0-90-generic (x64)
  • Node: v22.22.0
  • Installation: Global npm (/usr/lib/node_modules/openclaw)

Expected Behavior

Scheduled jobs created with cron add should fire at their designated time.

Actual Behavior

  • Recurring "every" jobs: WORK (tested and confirmed)
  • Daily recurring "cron" jobs: WORK (e.g., 0 5 * * * fired successfully)
  • One-time "at" jobs: DO NOT FIRE
  • One-time "cron" jobs: DO NOT FIRE

Steps to Reproduce

Test 1: "at" timestamp (FAILED)

cron add --json '{
  "name": "TEST - Verify cron is working",
  "schedule": {"kind": "at", "atMs": 1770174849488},
  "payload": {"kind": "systemEvent", "text": "Test message"},
  "sessionTarget": "main"
}'

Result: Job created successfully, never fired (waited 52+ minutes past scheduled time)

Test 2: "cron" expression for specific date (FAILED)

cron add --json '{
  "name": "REMINDER: Restart gateway at 9 PM CST",
  "schedule": {"kind": "cron", "expr": "0 3 4 2 *", "tz": "UTC"},
  "payload": {"kind": "systemEvent", "text": "Reminder: Restart gateway"},
  "sessionTarget": "main"
}'

Result: Job created, never fired at scheduled time (Feb 4, 3:00 AM UTC)

Test 3: Recurring "cron" (PASSED)

cron add --json '{
  "name": "DAILY MAINTENANCE",
  "schedule": {"kind": "cron", "expr": "0 5 * * *"},
  "payload": {"kind": "systemEvent", "text": "Running daily maintenance"},
  "sessionTarget": "main"
}'

Result: Fires daily at 5 AM UTC as expected

Additional Context

Gateway Restart Attempted

  • Restarted gateway multiple times during testing
  • Updated from 2026.2.1 to 2026.2.2-3
  • Issue persists across versions and restarts

cron list Output

{
  "jobs": []
}

Note: Jobs appear empty in cron list even when jobs exist in /root/.openclaw/cron/jobs.json

Jobs File Contents

Location: /root/.openclaw/cron/jobs.json

  • Contains 6 jobs (2 legacy "at", 4 "cron")
  • Jobs are persisted correctly
  • Just never executed

Possible Causes

  1. Scheduler component not properly evaluating atMs timestamps
  2. Timezone conversion issues (CST UTC-6 vs UTC)
  3. Jobs not being loaded into active scheduler after creation
  4. Wake mechanism not triggering for one-time jobs

Workarounds Used

  • Recurring "every" jobs with manual deletion after firing
  • External Linux cron + curl to OpenClaw API
  • Manual reminders via conversation

Impact

  • Cannot schedule one-time reminders
  • Cannot schedule tasks for specific future dates
  • Limits automation capabilities significantly

References

  • OpenClaw Starter Kit mentions this as known issue
  • User tried both "at" and "cron" expression syntaxes
  • Issue persists across gateway restarts and updates

Submitted by: Solrac (via AI assistant Praetor)
Date: 2026-02-04


Copy this and paste into: https://github.com/openclaw/openclaw/issues/new

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