# Hermes Agent goals and loops: keep it working on its own

> When to use /goal to keep working until something is done, /loop to repeat a check on a timer, and cron for work that must run when you are away.

Canonical: https://hermeswatcher.com/learn/goals-and-loops  
Section: Learn · Automation & scheduling  
Last reviewed: Oct 20, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## Three ways to keep work moving

Hermes has two in-session commands for work that takes more than one turn, and they're easy to confuse. `/goal` is judge-driven: after each turn a small judge model checks whether the objective is met, and if it isn't, Hermes continues automatically. `/loop` is timer-driven: it re-runs a prompt every few minutes until a stop condition fires. Both live inside your current session. For anything that has to run unattended, survive restarts, or happen while you're away, use a cron job instead. Kanban is a separate tool again, a board of many tasks handed to worker processes, and `/goal` never creates kanban cards.

## Setting a goal that can actually finish

`/goal <text>` sets the objective and starts the first turn right away. You'll see a continuation line after each turn until the judge declares it achieved, or the goal pauses. The default budget is 20 continuation turns (`goals.max_turns`). When it runs out, the goal pauses, and `/goal resume` starts a fresh budget.

A vague goal gets judged vaguely, so give it a completion contract. Either let Hermes draft one with `/goal draft <text>`, or add lines such as `verify:`, `constraints:`, `boundaries:` and `stop when:` beneath the headline. With a contract, the judge only marks the goal done when there's concrete evidence, such as a passing command or test output. For a mechanical check, add a quality gate with `/goal gate add <command>`. The gate has to exit 0 before the judge is even asked, and a failing gate's output becomes the next instruction.

- `/goal status` shows progress, `/goal pause` and `/goal resume` stop and restart the loop, and `/goal clear` drops the goal.
- `/subgoal <text>` adds another acceptance criterion partway through without restarting.
- If the judge decides the goal can't be achieved, the goal pauses with a reason instead of being marked done.
- Anything you type takes priority over the automatic continuation.

## Loops for polling and monitoring

`/loop 5m check the deploy status and tell me if it's live yet` runs once straight away, then every five minutes. Leave out the interval and the loop paces itself: it starts at one minute and backs off up to 15 minutes while the replies don't change. A rule of thumb from the docs: use a fixed interval when an outside clock drives the work, and self-pacing when the work sets the rhythm. You can also loop a slash command, for example `/loop 10m /recap`.

Always give a loop a way to end. `--times N` caps the number of runs. `--until <condition>` asks the same judge that `/goal` uses whether the condition is met. The agent can also end its reply with `LOOP_COMPLETE`, and `/loop stop` ends it immediately. As a backstop, `loops.max_ticks` (default 100) pauses any loop that runs too long. Each tick is a full agent turn, so match the interval to how often the thing you're watching actually changes.

## How they interact

Each session has one loop and one goal. While a goal is actively continuing, loop wakeups wait. They resume when the goal finishes, pauses, or parks on a background process. That makes a parked goal plus a loop a useful pairing: the goal waits on a long CI run while the loop keeps an eye on something else. Both survive `/resume` and context compression. Neither changes the system prompt, so prompt caching keeps working.

## Keeping the judge cheap

The judge runs once per turn and is small, about 200 output tokens. By default it uses your main model. To save money, route it to a fast, cheap model under `auxiliary.goal_judge` in `config.yaml`, with a `provider` and `model`. That setting also applies to `/loop --until` conditions. Both commands work in the CLI, the TUI, the desktop app, dashboard chat and messaging platforms. On a messaging platform, the gateway fires loop wakeups between your messages and posts the results as normal replies.

## Related guides

- [How to schedule recurring tasks in Hermes Agent](https://hermeswatcher.com/learn/scheduling-with-evidence.md)
- [Hermes Agent stuck in a tool loop](https://hermeswatcher.com/troubleshoot/tool-loop-or-stuck-task.md)
- [How to keep Hermes Agent costs down](https://hermeswatcher.com/learn/keeping-costs-under-control.md)
- [Hermes Agent subagents and delegation explained](https://hermeswatcher.com/learn/subagents-and-delegation.md)

## Related tools

- [Know whether an automation actually worked](https://hermeswatcher.com/workflows/reliable-recurring-automation.md)
- [Build a useful GitHub issue review](https://hermeswatcher.com/workflows/github-issue-review.md)
- [Scheduled tasks: automate a proven run](https://hermeswatcher.com/tools/scheduling.md)
- [Models and providers: configure the actual inference route](https://hermeswatcher.com/tools/models.md)
- [Subagent delegation: split big jobs across parallel child agents](https://hermeswatcher.com/tools/subagent-delegation.md)
- [CLI: run bounded tasks and inspect the working environment](https://hermeswatcher.com/tools/cli.md)

## Sources

- [Persistent Goals (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/goals)
- [Recurring Loops (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/loops)
- [Scheduled Tasks (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)
- [Kanban (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/kanban)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
