Skip to main content
Hermes has a built-in cron scheduler that runs agent tasks on a schedule and delivers results to any connected platform. Use it for daily reports, nightly backups, weekly summaries, or any recurring workflow.

How it works

Each scheduled job stores a prompt, a schedule expression, and optional delivery settings. The scheduler runs as a background process (started with hermes cron start) and fires the agent with the stored prompt at the scheduled time. Results are saved to ~/.hermes/cron/output/ and optionally delivered to a platform.

The hermes cron subcommand

Manage the scheduler from the command line:

The /cron slash command

Inside a chat session, use /cron to manage jobs interactively: You can also describe what you want in natural language and the agent will create the job for you:

Schedule formats

Platform delivery

Jobs created from a messaging platform (Telegram, Discord, etc.) automatically deliver results back to the same chat. You can also specify delivery explicitly:
Delivery uses the send_message tool and routes to the platform where you created the job, or to any configured platform you specify.

Creating your first cron job

1

Start the scheduler

If it isn’t already running, start the cron daemon:
2

Create a job

Use the /cron slash command or ask the agent naturally. For example, to get a daily news summary:
Or in natural language:
3

Verify the job

Run /cron list to confirm the job was created and see its next scheduled run time.
4

Test it now

Trigger the job immediately to verify it works:

Example scheduled jobs

Job output

Job output is saved to ~/.hermes/cron/output/<job-id>/<timestamp>.md. You can read past runs by asking the agent:
Cron prompts are scanned for injection patterns before execution. Prompts containing suspicious patterns (credential exfiltration, destructive commands targeting root paths) are blocked.