Hermes Agent · Tutorial 17

Stop Saying Keep Going: Persistent Work with /goal

Give Hermes a measurable completion contract, add subgoals, and let it continue until the work is verified or genuinely blocked.

Hand-cut paper trail moving through checkpoints and a verification gate to a finished report
Reading time
13 min
Last updated
August 2026

0 of 1 complete

Reference guide · Read when needed · View the route

Last tested and updated: August 25, 2026, with Hermes Agent v0.20.5. Run /version first.

A normal prompt lets Hermes answer once and stop. A persistent goal adds a judge after every turn. The judge decides whether the work is done, should continue, or must wait. This makes /goal useful for research, troubleshooting, and project work that normally needs repeated “keep going” messages.

It does not guarantee success. The real power is turning a vague intention into a reviewable completion contract.

Start with /goal draft

Give Hermes a rough goal and let it organise five fields: outcome, verification, constraints, boundaries, and stop condition.

/goal draft Compare five coworking day passes in Central or Sheung Wan.
Verify today's price and opening hours from official sources.
Produce a dated comparison table with links.
Do not make a booking.
Stop and ask me if official information conflicts or requires an account.

Review the draft before accepting it. Then add an acceptance criterion without restarting the loop:

/subgoal Include at least one option open after 8pm.

Check progress at any time:

/goal status
/goal show
/subgoal

Hermes continues automatically until the original goal and every active subgoal are satisfied, it pauses, it becomes blocked, or it reaches the continuation budget. The default budget is 20 turns. /goal resume keeps the same goal but resets that counter.

Useful controls

/goal pause
/goal resume
/goal clear
/subgoal remove 1
/subgoal clear

Your ordinary message always takes priority over the next automatic continuation. The goal remains active unless you pause or clear it.

For coding or data workflows, a shell quality gate is stronger than an LLM’s opinion:

/goal gate add npm test
/goal gate

The command must exit successfully before the judge may declare completion. Gates retry and time out, so keep them deterministic and safe. A long build can be registered as a wait rather than wasting continuation turns:

/goal wait 12345 Waiting for the build to finish
/goal unwait

What survives and what does not

The goal, contract, gates, waits, and subgoals survive when you resume the same session. A goal is still single-session; it is not a Kanban board and does not automatically split work across agents.

Each completed turn triggers a small extra judge-model call. By default that judge uses the main model unless you configure an auxiliary goal judge. Long goals therefore spend more time and tokens than a single response.

Official behavior and syntax are documented in the stable Persistent Goals guide.

What users say

Hermes maintainer Teknium said he regularly uses /goal for three-to-eight-hour sessions. That is a maintainer anecdote, not a reliability guarantee; the same post asks users for traces when the loop behaves badly.

Another user reported a specific goal run costing $0.33 and taking 1 hour 27 minutes. Those numbers are self-reported and not comparable to a different model or task. They are best read as a reminder to define a budget and inspect usage, not as a price promise.

How to know it worked

  • /goal show displays a concrete outcome and stop condition.
  • Continuation messages count toward a visible budget.
  • /subgoal lists each additional acceptance criterion.
  • The final artifact visibly satisfies the contract—or Hermes reports the precise block.

Frequently asked questions

Does /goal guarantee the result?

No. It guarantees a continuation mechanism, not correct research, safe judgment, or a successful external service.

Will it run forever?

No. The default continuation budget pauses it after 20 turns.

Does /goal resume start over?

It preserves the goal and progress but resets the turn counter.

Does adding a subgoal restart the work?

No. It adds another criterion to the active loop.

Can it work on research instead of code?

Yes. Require dated primary sources, links beside claims, and a defined deliverable.

Should I combine it with /yolo?

Not in a beginner workflow. Persistent autonomy is safer with narrow permissions and approval gates.

What happens when the goal is impossible?

Hermes can stop with a block reason rather than retry forever. Check that reason yourself before accepting it.