Cron Troubleshooting Guide
Cron Troubleshooting Guide — easy-to-understand guide based on official docs
Think of it like setting your coffee maker to brew at 7 AM every day—Hermes cron jobs give your AI assistant the same kind of alarm clock, so it works on schedule without you hovering.
What Can Cron Jobs Do?
Hermes cron jobs are like a versatile butler. They can:
- Run once or repeatedly—e.g., “remind me in 30 minutes” or “check the server every 2 hours”
- Be controlled flexibly—pause, resume, modify, trigger immediately, or delete anytime
- Attach skills—add zero, one, or multiple skills (like “summarize news” + “post to group”)
- Deliver results multiple ways—back to chat, saved to a local file, or pushed to a specific platform
- Run in two modes—normal mode (AI thinks and reasons) or “no-AI mode” (pure script, direct output, zero inference cost)
How to Create a Cron Job
In chat, use the /cron command—as easy as sending a message:
/cron add 30m "remind me to check the build"
/cron add "every 2h" "check server status"
/cron add "every 1h" "summarize new subscriptions" --skill blogwatcher
In the terminal, use hermes cron:
hermes cron create "every 2h" "check server status"
hermes cron create "every 1h" "summarize new subscriptions" --skill blogwatcher
Pitfall #1: Which Model Does the Job Run On?
This is the most common beginner trap. When a job executes, the model is chosen in this order:
- A model explicitly set for the job (highest priority)
- The
cron.modelconfig (default model for all cron jobs, independent of your chat model) - The global default model (only used if neither of the above is set)
Critical warning: If a job uses the global default model and you change your chat model after creating it, the job will automatically skip execution. It won’t secretly use the new model—it will ask you to specify one explicitly. This prevents unattended jobs from silently switching to a paid model.
Best practice: Set a fixed cron model with hermes config set cron.model <model-name>. Then your chat model can change freely without affecting your scheduled jobs.
Pitfall #2: No Creating Jobs Inside Jobs
Hermes disables creating new cron jobs while a job is executing—this prevents infinite “job nesting.” If you see an error when calling cron tools inside a job, don’t panic. It’s a protective feature, not a bug.
Summary and Practical Tips
Cron jobs give your AI “autopilot,” but remember two core points:
- Always specify a model—use
cron.modelor set one per job to avoid jobs “going on strike” when your global model changes - Don’t create jobs inside jobs—if you need multiple tasks, create them all upfront. Don’t expect a job to “birth” other jobs
Pro tip: When starting out, test with a one-time job first (e.g., /cron add 5m "test"). Confirm everything works before setting up recurring jobs. That way, when troubleshooting, you only check one point instead of untangling a mess of looping tasks.
📖 Official Docs
This article is based on the official Hermes Agent documentation:Official docs › guides/automate-with-cron