Sparround

Cron: scheduled tasks

The agent's most-used automation mechanism is cron: a task that fires by itself at a given time. The twist is that an ordinary cron runs a command, while a Hermes cron runs a prompt — so the result may differ each time, which is both its power and its risk.

A cron job is created in three ways: /cron add inside a session, hermes cron create from the CLI, or simply telling the agent in natural language (it calls the cronjob tool itself).

FormatExampleMeaning
One-shot delay`30m`, `2h`, `1d`Once, after the given delay
Recurring interval`every 30m`, `every 2h`Repeats regularly
Cron expression`0 9 * * *`Every day at 09:00
ISO timestamp`2026-03-15T09:00:00`A specific moment

Cron is more than "fire on schedule" — there is a whole mechanism around it:

  • Attaching a skill--skill <name> loads the procedure before the job runs
  • Delivery — the result is sent to the deliver: target: origin, a local file, Telegram, Discord, Slack, email, or all of them
  • No-agent mode — with --no-agent the job runs as a script only and its stdout is delivered directly (ideal for watchdogs, with no LLM cost)
  • Chainingcontext_from passes one job's output as context to another
  • Continuitycontinuity=true feeds a job its own previous output, to deduplicate
  • Pre-run gates — a script can return {"wakeAgent": false} and skip the model entirely

The safety controls around cron are spelled out in the docs: prompt-injection scanning runs when a job is created or updated; pre-dispatch validation confirms credentials resolve and attached skills are ready; and recursive cron is blocked — a cron-run session cannot create more cron jobs. The default script timeout is 3600 seconds.

The most important default: in headless cron, the behaviour for commands needing approval is deny. So the agent running overnight does not execute the dangerous command; it stops.

Practice. Create a no-agent (--no-agent) watchdog job: check disk usage every 30 minutes, report when it is above 85%, stay silent otherwise. Then write the agent-backed version of the same job and compare the cost. Done means: the no-agent version costs zero LLM tokens and only speaks up when there is a problem.

📚 Sources and documentation