Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Fix common cron job failures in Clawdbot/Moltbot - message delivery issues, tool timeouts, timezone bugs, and model fallback problems.
Fix common cron job failures in Clawdbot/Moltbot - message delivery issues, tool timeouts, timezone bugs, and model fallback problems.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
A comprehensive guide to diagnosing and fixing cron job issues in Clawdbot/Moltbot. This skill documents common failure patterns and their solutions, learned through production debugging.
Use this skill when: Scheduled messages aren't being delivered Cron jobs show "error" status Messages arrive at wrong times (timezone issues) The agent times out when using the cron tool Fallback models ignore instructions and call tools unexpectedly
Always use these flags together for reliable delivery: clawdbot cron add \ --name "my-job" \ --cron "0 9 * * 1-5" \ --tz "America/New_York" \ --session isolated \ --message "[INSTRUCTION: DO NOT USE ANY TOOLS] Your prompt here" \ --deliver --channel telegram --to "CHAT_ID" \ --best-effort-deliver
FlagPurposeWhy It Matters--session isolatedCreates dedicated sessionPrevents message loss in busy conversations--tz "TIMEZONE"Sets explicit timezoneAvoids UTC confusion--deliverSends to channelRequired for Telegram/WhatsApp--best-effort-deliverDon't fail on delivery errorGraceful degradation
Agent times out (10s) when calling cron list or cron add Error: "Tool execution timed out" Gateway logs show 80s+ response times
The internal cron tool creates a deadlock between the agent process and gateway.
Never use the cron tool directly. Use exec (or bash) instead: # CORRECT - uses exec to bypass deadlock exec: clawdbot cron list exec: clawdbot cron add --name "reminder" --at "+5m" --message "Hello" # INCORRECT - causes timeout cron list # DO NOT USE cron add ... # DO NOT USE
If you're an AI agent reading this: when the user asks you to manage cron jobs, always use the exec/bash tool to run clawdbot cron commands. Never invoke the cron tool directly.
Job shows "ok" status but message never arrives Works in testing but fails on schedule Intermittent delivery
Using --session main or --system-event causes messages to get lost when there's an active conversation in the main session.
Always use --session isolated: # CORRECT - isolated session, guaranteed delivery clawdbot cron add \ --name "daily-standup" \ --cron "0 9 * * 1-5" \ --session isolated \ --deliver --channel telegram --to "-100XXXXXXXXXX" # INCORRECT - messages can be lost clawdbot cron add \ --name "daily-standup" \ --session main \ --system-event \ ...
After creating a job, test it: # Run the job immediately to verify delivery clawdbot cron run <job-id>
Job runs 4-5 hours early or late Schedule shows correct time but execution is off Works correctly sometimes, fails other times
Missing timezone specification defaults to UTC.
Always specify timezone explicitly: # CORRECT - explicit timezone clawdbot cron add \ --cron "0 9 * * 1-5" \ --tz "America/New_York" \ ... # INCORRECT - defaults to UTC clawdbot cron add \ --cron "0 9 * * 1-5" \ ...
RegionTimezone IDUS EasternAmerica/New_YorkUS PacificAmerica/Los_AngelesUKEurope/LondonCentral EuropeEurope/BerlinIndiaAsia/KolkataJapanAsia/TokyoAustralia EasternAustralia/SydneyBrazilAmerica/Sao_PauloBoliviaAmerica/La_Paz
Primary model works correctly When fallback activates, agent calls tools unexpectedly Agent tries to use exec, read, or other tools when it shouldn't
Some fallback models (especially smaller/faster ones) don't follow system instructions as strictly as primary models.
Embed instructions directly in the message: # CORRECT - instruction embedded in message clawdbot cron add \ --message "[INSTRUCTION: DO NOT USE ANY TOOLS. Respond with text only.] Generate a motivational Monday message for the team." # INCORRECT - relies only on system prompt clawdbot cron add \ --message "Generate a motivational Monday message for the team."
[INSTRUCTION: DO NOT USE ANY TOOLS. Write your response directly.] Your actual prompt here. Be specific about what you want.
Job status shows "error" Subsequent runs also fail No clear error message
# Check job details clawdbot cron show <job-id> # Check recent logs tail -100 /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep -i cron # Check gateway errors tail -50 ~/.clawdbot/logs/gateway.err.log
CauseFixModel quota exceededWait for quota reset or switch modelInvalid chat IDVerify channel ID with --toBot removed from groupRe-add bot to Telegram groupGateway not runningclawdbot gateway restart
If nothing works: # Remove the problematic job clawdbot cron rm <job-id> # Restart gateway clawdbot gateway restart # Recreate with correct flags clawdbot cron add ... (with all recommended flags)
clawdbot cron list
clawdbot cron show <job-id>
clawdbot cron run <job-id>
# Today's logs filtered for cron tail -200 /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep -i cron # Gateway errors tail -100 ~/.clawdbot/logs/gateway.err.log # Watch logs in real-time tail -f /tmp/clawdbot/clawdbot-$(date +%Y-%m-%d).log | grep --line-buffered cron
clawdbot gateway restart
clawdbot cron add \ --name "daily-standup-9am" \ --cron "0 9 * * 1-5" \ --tz "America/New_York" \ --session isolated \ --message "[INSTRUCTION: DO NOT USE ANY TOOLS. Write directly.] Good morning team! Time for our daily standup. Please share: 1. What did you accomplish yesterday? 2. What are you working on today? 3. Any blockers? @alice @bob" \ --deliver --channel telegram --to "-100XXXXXXXXXX" \ --best-effort-deliver
clawdbot cron add \ --name "quick-reminder" \ --at "+20m" \ --delete-after-run \ --session isolated \ --message "[INSTRUCTION: DO NOT USE ANY TOOLS.] Reminder: Your meeting starts in 10 minutes!" \ --deliver --channel telegram --to "-100XXXXXXXXXX" \ --best-effort-deliver
clawdbot cron add \ --name "weekly-report-friday" \ --cron "0 17 * * 5" \ --tz "America/New_York" \ --session isolated \ --message "[INSTRUCTION: DO NOT USE ANY TOOLS.] Happy Friday! Time to wrap up the week. Please share your weekly highlights and any items carrying over to next week." \ --deliver --channel telegram --to "-100XXXXXXXXXX" \ --best-effort-deliver
Before creating any cron job, verify: Using exec: clawdbot cron add (not the cron tool directly) --session isolated is set --tz "YOUR_TIMEZONE" is explicit --deliver --channel CHANNEL --to "ID" for message delivery --best-effort-deliver for graceful failures Message starts with [INSTRUCTION: DO NOT USE ANY TOOLS] Tested with clawdbot cron run <id> after creation
Clawdbot Cron Documentation Timezone Database Cron Expression Generator Skill authored by Isaac Zarzuri. Based on production debugging experience with Clawdbot/Moltbot.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.