Hermes AgentAI agentAn AI program that performs work steps by itself, for example reading a message, drafting a reply, and recording the result.Open the glossary 0.22.6 shipped on 2 November 2026 as a stable patch release that collects 776 PRs since version 0.22.5. For teams that run cron jobs on a VPS, it brings 4 main changes: a missed-run policy, a command that stops a stuck run, skill locks, and a hook that blocks a prompt before the model starts.

Hermes Agent is an open-source AI agent from Nous Research under the MIT license. It runs on a laptop, a VPS, Docker, or Hermes Cloud, and it accepts commands through the CLI, Telegram, WhatsApp, or the Desktop app. The cron feature lets the agent run scheduled tasks, for example a morning brief or a weekly report.

What changed in Hermes Agent 0.22.6?

Hermes Agent 0.22.6 adds cron controls, skill locks, a prompt-blocking hook, and a keychain option for the vault key.

The v0.22.6 release notes on GitHub count 3,448 commits, 776 PRs, and 385 closed issues in this window. The release notes are short on purpose, and the full notes ship with v0.23.0. Thus we took the details below from the official Hermes documentation on 3 November 2026.

ChangeCommandMost useful for
Missed-run policy for each jobhermes cron edit <job> --catch-up offJobs that have no value when late, for example a morning brief
Stop a stuck runhermes cron cancel <job>Jobs that wait for an APIAPIThe official door 2 systems use to exchange data, without anybody copying it by hand.Open the glossary or a model that does not respond
Skill lockhermes curator lock <skill>Skills that hold a procedure the agent must not change
Block a prompt before the modelHook pre_llm_call with action: blockTeams with customer data rules
Vault key in the keychainhermes vault key migrate --to keychainA laptop or desktop, not a VPS without a display

The same release also adds hermes webapp, /model reset, and hermes migrate for Grok Bot and OpenBot users. This article covers the 5 changes in the table, because they change how you operate the agent every day.

How does Hermes handle a missed cron run after a server restart?

When the gateway is down at a scheduled time, a recurring job does 1 catch-up run after the scheduler starts again.

Hermes does not do 1 run for each missed slot. A long outage becomes 1 run, and a paused job never catches up. In 0.22.6, you can set this behavior for each job:

hermes cron create "0 7 * * 1-5" "Morning brief" --catch-up off
hermes cron edit <job> --catch-up on
  • --catch-up off skips the missed slot. Use it for a morning brief that has no value when it is late.
  • --catch-up on runs the job 1 time when the server comes back. Use it for a weekly report that must exist.
  • Without the option, the job follows the global setting cron.catch_up_missed. The default value is true.

The Desktop app has the same choice in the job editor, under Missed runs. Each missed slot now shows as a missed ×N row in hermes cron runs <job>. Source: Hermes cron documentation.

Example in daily use

Users reported silent cron problems before this release. In issue #78986 on 5 August 2026, a user reported a weekly report that failed without an alert. The user found the failure days later in hermes cron list.

Example: your VPS restarts at 06:55 for an update, and the morning brief runs at 07:00. Set --catch-up off if a late brief only confuses the team. Set --catch-up on on the weekly report, because a late report is better than no report.

A row of teal schedule cards on a sorting rail goes into a funnel and comes out as 1 amber card
Illustration: all slots missed during an outage become 1 catch-up run, not 1 run for each slot.

How do you stop a stuck cron run?

The hermes cron cancel command stops the run in progress, and the job schedule stays active for the next run.

hermes cron cancel <job> --reason "staging API does not respond"
  • Script jobs: Hermes sends SIGTERM to the full process group, then SIGKILL after a grace period.
  • Agent jobs: Hermes interrupts the current turn at its next checkpoint.
  • The run gets a cancelled record with the reason. It sends no failure alert and does not add to the failure streak.
  • hermes cron remove now also stops a live run, so the job does not spend tokens on a result that nobody keeps.

Know the limit: cancel stops the run, but it does not undo actions that already occurred. A message that the job sent stays sent.

This feature answers a real problem. In issue #145564 on 27 October 2026, a 10-minute job on version 0.21.3 stalled on a model stream that did not respond. The log shows 161 restores of the same slot in 160 minutes, and the job did not run normally in that period.

The issue is still open on 3 November 2026. Continue to monitor your jobs with hermes cron doctor.

When should you lock a skill?

Lock a skill when it holds a procedure that the agent must not change, for example a deploy runbook or a customer reply template.

Hermes can change skills through its background review and the curator. That helps for test skills, but it is a risk for a procedure that your team approved. The new commands are:

hermes curator lock <skill>
hermes curator unlock <skill>
hermes curator status

The agent can still read and use a locked skill. But skill_manage, write_file, patch, and terminal refuse each change, also in cron jobs, subagents, and --yolo mode. The agent cannot unlock the skill, but your own edits in an editor still work.

The curator documentation says that the lock is a policy check, not a sandbox. Hermes does not inspect a script that writes through its own logic, or execute_code. For a hard boundary, add file system permissions.

A teal glass drawer cabinet with visible contents, and 1 middle drawer locked with an amber padlock
Illustration: the agent can still read a locked skill, but it cannot change it.

What does the blocking pre_llm_call hook do?

The pre_llm_call hook can now stop a turn before any model request, so a blocked prompt uses no tokens.

A plugin returns {"action": "block", "message": "..."}. The user sees that message as the reply, and the turn makes 0 model calls. Hermes keeps the blocked prompt as placeholder text, so the prompt does not go to a model in later turns, compaction summaries, or external memory.

Example: block a message that contains a card number or a national ID number before it reaches the model provider. Note 1 risk: Hermes skips a callback that fails or runs past the 30-second timeout, and the turn continues.

Write a hook that catches its own errors and returns a block when it cannot decide. Source: Hermes hooks documentation.

Should you move the vault key to the keychain?

On a VPS without a desktop, keep the vault key in a file, because a server without a keyring has no keychain.

The Hermes vault keeps site logins encrypted. By default, the key is in ~/.hermes/vault/vault.key with 0600 permissions. This release adds an option to move the key to macOS Keychain, Windows Credential Manager, or Secret Service and KWallet on Linux:

hermes vault key
hermes vault key migrate --to keychain
hermes vault key migrate --to file

The credential vault documentation lists 3 effects that you must accept before the move:

  • Backups and copies of ~/.hermes no longer contain the vault key.
  • A cron job that runs while you are logged out cannot read the key, so its local logins fail.
  • If someone deletes the keychain entry, you cannot open the vault.

How do you upgrade to Hermes Agent 0.22.6 safely?

Record the cron state, update, restart the gateway, and then set the missed-run policy for each job.

  1. Run hermes cron list and hermes cron doctor. Record the jobs that have problems.
  2. Update with the method that matches your installation. See the table below.
  3. Run hermes gateway restart through your supervisor.
  4. Set --catch-up off or --catch-up on on each time-sensitive job.
  5. Lock your procedure skills with hermes curator lock <skill>.
  6. Run hermes cron doctor again. A successful catch-up run keeps the late warning until the next on-time run.
Installation methodHow to update to 0.22.6
CLIhermes update, or run the installer command again
Docker or Hermes CloudImage nousresearch/hermes-agent:stable or :latest
Microsoft StoreUpdate through the Store
Desktop from the .exe or .dmg installerNo change yet. It updates with the next bundled release

If you are new to Hermes on a server, start with our guide to set up Hermes Agent on a VPS. That guide uses version 0.22.5. After you complete it, run hermes update to move to 0.22.6.

Who gets the most value from this release?

Teams with daily cron jobs and teams that share 1 agent get the most value from this release.

ReaderMost useful changeFirst action
Business owner with a morning brief on Telegram--catch-up offSet it on the morning brief job
Marketer with a weekly report--catch-up on and cron cancelSet --catch-up on on the report job
Developer or ops teamSkill lock and the pre_llm_call hookLock the runbook, then write a hook for sensitive data

Two points still cause friction. The release notes do not explain the new features, so you must read the documentation page by page. Desktop users who installed from the installer do not get this release yet.

Conclusion: what should you do this week?

Upgrade to 0.22.6 this week if your agent runs cron jobs, and then set a missed-run policy on each time-sensitive job.

The 0.22.6 release notes do not mention a security fix, so this upgrade is not urgent. After the upgrade, lock your procedure skills, and wait for the v0.23.0 notes before you open the Webapp to a public network. For the WhatsApp changes in an earlier version, read our Hermes Agent 0.22.4 summary.

If you need an agent with cron, approvals, and a Telegram allowlist installed correctly, see Hermes Agent Installation Service.

Questions and answers

Must I upgrade to Hermes Agent 0.22.6 now?

No. The 0.22.6 release notes do not mention a security fix. Upgrade this week if your agent runs cron jobs or uses skills that the agent changes.

Does a cron job run many times after a long server outage?

No. Hermes merges all missed slots into 1 catch-up run, or it skips all of them when the job uses --catch-up off.

Can the agent still use a locked skill?

Yes. The agent can still read, load, and run the scripts of that skill. The agent cannot change, delete, or unlock the skill.

Does the Desktop app from the installer get this update?

Not yet. The Desktop app from the .exe or .dmg installer does not change in this release and updates with the next bundled release. The Microsoft Store app updates through the Store.