- /goal draft turns a one-liner into a full contract: what done means, how to prove it, what not to break
- Add a quality gate, like your test command, and it can't call it done until that passes
- It parks while CI or a long build runs, then picks back up with the result
- Pause, resume or clear it anytime, and it survives /resume
Persistent Goals (/goal)
Transcript
Music, no speech. Track: Infraction, "Finish Line". Below: what's on screen, beat by beat.
- At 0:00
Title card on a cream page: "Typed it once." A command chip reads "/goal Make every test in tests/ pass" next to a Hermes Desktop window, and a counter shows "Turn 1/20" with "21 failing".
- At 0:01
"Hermes kept going." appears as the counter climbs to "4/20" with "1 failing", then turns green: "Goal achieved", "0 failing".
- At 0:04
An orange screen reads "No more 'keep going.'" Chat bubbles pile up: "keep going", "continue", "keep going..." and "you stopped again. keep going".
- At 0:07
Hermes Desktop opens a new, empty chat session.
- At 0:09
A dark screen reads "Give Hermes a finish line." The message box types "/goal Make every test in tests/ pass".
- At 0:12
"Now it holds the goal." A status card shows "Goal active", "Turn 0/20" and the goal "Make every test in tests/ pass".
- At 0:13
Beside the chat, a panel titled "The judge, after every turn" logs each turn: "21 of 38 tests still failing", "9 tests still failing", "3 left: timezone edge cases", "1 left: test_refund_rounding".
- At 0:18
The last row reads "All 38 tests in tests/ pass" and the turn bar turns green. Throughout, a counter shows "You typed: 1 message".
- At 0:19
Green screen: "Goal achieved." A card shows "Goal done", "4 turns" and "All 38 tests in tests/ pass." Below it: "Zero 'keep going' prompts."
- At 0:22
"A judge checks every turn." Four verdict cards appear: "Continue" (not done yet, back to work), "Done" (only when clearly finished), "Blocked" (it pauses) and "Wait" (parks on a long build or CI run).
- At 0:25
Green screen: "Make 'done' provable." The command "/goal gate add ./run_tests.sh" is "A command that must pass before the goal can finish." Exit 1 means "Back to work", exit 0 means "Free to finish".
- At 0:30
Cream screen: "Steer it anytime." Command cards show "/subgoal add a regression test", "/goal pause", "/goal resume" and "/resume": "Close the laptop. The goal is still there tomorrow."
- At 0:33
Orange screen: "Outcomes, not to-dos." Four example goals appear, such as "Fix every lint error in src/ and get ruff check passing" and "Build a CLI that renames photos by EXIF date, then test it".
- At 0:37
End card between checkered borders: "/goal", "Built into Hermes Agent", "CLI · Desktop · Your chat apps". The video closes on "@HermesWatcher".
Hand Hermes an outcome, not a to-do. After every turn a judge model checks whether it's done. Hermes keeps going until it is, or pauses when its turn budget runs out. A test command can act as a quality gate.
Guide Watch on X (opens in a new tab)More videos on built-in features
The post on X
The post as written on Oct 26, 2026, with any sign-up offers and pointers to replies left out. Figures in it are from that day. The summary above follows the official docs, so check the docs (opens in a new tab) for the version you run.
More videos
Connectors
Lets Hermes act in hosted apps such as Linear and Notion after one browser sign-in. Transcript
Lets Hermes act in hosted apps such as Linear and Notion after one browser sign-in, with no Nous account needed to start. Work and home accounts can sit side by side. Transcript
Passwords & Logins
Hermes signs in to sites with logins from its vault, 1Password or Bitwarden, and can enter 2FA codes too. Transcript
Hermes signs in to websites with logins from its encrypted vault, 1Password or Bitwarden, and the model never sees the password. Codes from a saved authenticator key are filled for you, and every card fill asks first. Transcript
Update channels
Source installs update from release to release by default. One switch lets you follow every commit on main. Transcript
Source installs of Hermes update from one published release to the next by default. A switch in Settings > About > Updates lets you follow every commit on main instead. Transcript