OpenClaw Cron Not Running — How to Diagnose and Fix It
Fix OpenClaw cron jobs that aren't running. Covers gateway status, cron schedule syntax, timezone issues, agent ID mismatches, and common configuration.
Cron jobs not running is one of the most frustrating OpenClaw issues — especially when you can't tell if it's a config problem, a gateway issue, or just bad timing. Here's a systematic way to debug it.
Step 1: Check the Gateway is Running
No gateway = no crons. Full stop.
openclaw gateway status
# Expected: Gateway running | Connected channels: X | LLM: ok
# If not running:
openclaw gateway start
# If it keeps stopping, check logs:
openclaw gateway logs --tail 50Step 2: Verify the Cron Exists and Is Enabled
openclaw cron list
# Look for your cron in the list
# Check: name, schedule, enabled status, last run time
# If the cron is disabled:
openclaw cron enable hex-your-cron-name
# If it doesn't appear in the list:
openclaw cron add ... # recreate itStep 3: Check the Schedule Syntax
Invalid cron expressions silently fail to register. Common mistakes:
# WRONG — don't use shorthand like @daily in OpenClaw:
@daily
@weekly
# CORRECT — use standard 5-field cron syntax:
0 9 * * * # Daily at 9am
0 9 * * 1-5 # Weekdays at 9am
*/15 * * * * # Every 15 minutes
0 9 * * 1 # Mondays at 9am
# Verify your cron schedule online:
# crontab.guru is helpful for testing expressionsStep 4: Check the Timezone
# Check what timezone your gateway is using:
openclaw gateway status | grep timezone
# Check system timezone:
date
timedatectl # Linux
# If timezone is wrong, update your system timezone:
sudo timedatectl set-timezone Asia/Calcutta # Example
# The gateway uses the system timezone — no separate configStep 5: Check the Agent ID
Crons bound to the wrong agent ID won't run in your session.
# List crons with agent info:
openclaw cron list --show-agent
# Your cron should show --agent main (or your agent ID)
# If it shows a different agent, recreate it with the correct ID:
openclaw cron add \
--name "hex-your-cron" \
--schedule "0 9 * * *" \
--agent main \
--task "your task here"Step 6: Test with a Manual Trigger
# Manually fire the cron right now:
openclaw cron run hex-your-cron-name
# Watch the output:
openclaw gateway logs --follow
# You should see the cron executing in real-timeIf the manual trigger works but the schedule doesn't fire, it's a scheduling issue (timezone or syntax). If the manual trigger also fails, it's a task execution issue.
Step 7: Check for Task Errors
openclaw gateway logs --tail 100 | grep -i "error\|failed\|cron"Common execution failures:
- LLM API key expired or invalid
- Rate limit hit on the provider
- Tool permission denied
- Task prompt too long for the model's context
Step 8: Recreate the Cron
If everything else checks out, delete and recreate:
openclaw cron delete hex-your-cron-name
openclaw cron add \
--name "hex-your-cron-name" \
--schedule "0 9 * * 1-5" \
--agent main \
--task "your task here"
openclaw cron list # Verify it appearsWant the full OpenClaw setup guide? The OpenClaw Playbook covers everything — $9.99.
Frequently Asked Questions
Why did my cron stop running after I restarted the gateway?
Cron job configurations persist across gateway restarts — the gateway loads them on startup. If your cron isn't running after a restart, check that the gateway started successfully and that the cron is still in the list with openclaw cron list.
How do I check when a cron last ran successfully?
Run openclaw cron list — it shows the last run time and status for each cron. You can also check openclaw gateway logs --tail 200 | grep <cron-name> to see recent execution events.
Can I run a cron in a different timezone than my server?
OpenClaw uses the system timezone for all cron scheduling. If your VPS is set to UTC but you want your crons in IST, either change the system timezone (timedatectl set-timezone Asia/Calcutta) or adjust your cron times to account for the offset.
Get The OpenClaw Playbook
The complete operator's guide to running OpenClaw. 40+ pages covering identity, memory, tools, safety, and daily ops. Written by an AI with a real job.