
You Already Pay for Thinking You Don't Need: Reasoning Effort in Every Hermes Model Picker
Billing a one-line rename at ultra reasoning effort is the most common waste in an agent setup. PR #110346 puts an effort step on every model picker — hermes model, /model, the Ink TUI, the messaging gateway. Here is the whole control surface: /reasoning, the Desktop composer pill, per-task effort in Settings → Model → Auxiliary, agent.reasoning_overrides, and delegation.reasoning_effort.
Read more
Why Your MCP Tools Keep Logging You Out: Inside the OAuth Token Lifecycle
Figma, Linear, and Notion keep asking Hermes to sign in again — and it is usually not a misconfiguration. Here is the token lifecycle behind it: how concurrent refreshes trip reuse detection, why a refresh token must stay bound to the server that issued it, and the four fixes Hermes shipped for it.
Read more
hermes profile update used to delete your skills and cron jobs
PR #111344 fixes a P1 data-loss bug: updating a profile distribution replaced the whole skills/ and cron/ directories, wiping anything the user had added. They are now merged per root, so your additions survive while the author's shipped roots still update.
Read more
Hermes v0.21.3: your desktop session stops signing itself out after sleep
v0.21.3 (tag v2026.9.14) is the patch tag that carries remote sign-in fixes to Docker and Cloud users: concurrent refresh bursts no longer revoke the whole session, refresh runs off the event loop, and long-lived processes stop leaking duplicate state.db writer handles.
Read more
Your iPhone Photos Finally Work: HEIC Decoding in vision_analyze, and Vision Tools That Stop Vanishing
Feeding an iPhone photo to Hermes used to return one line: source is not a recognized image. PR #106408 added ISO-BMFF ftyp sniffing plus pillow-heif normalization; PR #110136 fixed the cache poisoning that made vision tools disappear in long-running processes.
Read more
How to Complete OAuth on a Remote Server: SSH Tunnels, Pasted Callbacks, and Device Codes
When Hermes runs on a cloud VM or behind a jump box, loopback-redirect OAuth (Spotify, remote MCP servers) breaks at 127.0.0.1. Three workable routes: an SSH local forward, pasting the redirect URL back, and device-code or paste-the-code flows.
Read more
169.254.169.254 Now Asks First: Hermes Gates Cloud Instance-Metadata Credential Fetches Behind Approval
On a cloud VM the instance-metadata service hands temporary IAM credentials to any local process with no authentication. After PR #106418, commands that hit 169.254.169.254, fd00:ec2::254, metadata.google.internal or 100.100.100.200 prompt for approval instead of being auto-approved.
Read more
When Your Fingers Hit Esc: Vim Keybindings for the Hermes CLI Composer (Plus the Branch Name in Your Status Bar)
You type a long prompt, spot a typo, and reflexively press Esc to fix it — nothing happens. After PR #106412, display.vim_mode turns the CLI input composer into a vi-style editor, with a live NORMAL/INSERT/REPLACE label on the status bar.
Read more
Hermes v0.21.2: Multi-Profile Isolation Hardening, and No More One Backend Per Profile
v0.21.2 closes seven cross-profile leak paths in multi-profile installs, stops the desktop from spawning a backend for every profile, and cleans up a batch of cron, kanban and memory behaviours that never made sense.
Read more
No More Restart: Hermes Hot-Serves Profiles You Create While the Gateway Is Running
You create a third profile at 2 a.m., paste in the bot token, send hello in Telegram, and nothing answers — the desktop still says that profile's gateway is stopped. The only documented fix is restarting the gateway, which interrupts the two profiles happily running long jobs. PR #109239 changes that: a running multiplex gateway now reconciles its profiles directory at runtime. New profiles are served on the spot, credentials pasted in later rebuild their adapter, deleted profiles get torn down and de-routed, and a 30-second rescan covers the failures. Merged to main on 2026-09-12, after the v0.21.2 release.
Read more
Hermes Now Gates Package-Manager Uninstalls Behind Approval
A global npm package is quietly slowing your builds, so you type `npm uninstall -g some-package` and hit Enter. Two days later CI is missing it and every project on that machine is affected. That command used to run with no prompt at all, because the dangerous-command gate only knew shell primitives. PR #109170 (merged to main) adds a package manager uninstall rule for npm, pnpm, yarn, pip, and brew: removals now ask, while installs and updates still slip through. The rules are anchored with _CMDPOS so quoted text isn't misflagged, and a global option plus one argument still gets caught.
Read more
Hermes MCP include: an explicit empty list now blocks everything, everywhere
tools.include: [] used to be read as “key not set” by several surfaces. After PR #109188, hermes mcp list, hermes mcp configure, hermes tools, catalog reinstall and the desktop MCP panel all read it as 0 selected.
Read more
Hermes Cron Jobs Now Degrade Instead of Failing on systemd Gateways With No User D-Bus Session
On systemd-managed gateways that have no user D-Bus session (containers, slim LXC, service users without linger), every due cron job used to fail right at dispatch. PR #109311 makes those jobs degrade instead: still a separate external worker process, just without cgroup isolation, with a single warning per gateway process. Set cron.require_restart_safe_scope: true to get the old fail-closed behavior back. Merged to main on 2026-09-12; not in a tagged release yet.
Read more
Start Working Before You Paste an API Key: How the Hermes Free Tier Works and When to Sign In
A fresh Hermes install can now hold a conversation with nothing configured: at boot it sets up an anonymous Nous free tier identity, answers on a model called nous/welcome, and connectors work without an account. Signing in is something you do later, when you want the full model catalog and the paid tools (web search, image generation, TTS, cloud browser). Here is what it gives you, what it does not, how to sign in, how to switch it off, and what the error messages mean.
Read more
Where "database is locked" Actually Comes From: Hermes Fixed Lock Contention, Duplicate Writers, and One False Alarm
No second Hermes running, yet you get database is locked; no writes pending, yet opening the session store blocks for 4 seconds. A batch of fixes merged September 11 explains why: the lock was Hermes taking write authority on every open, several processes were never supposed to touch the file at all, and one "WAL is gone" alarm was simply wrong on OpenZFS. Here is what changed and how to check your own machine.
Read more
Drowning in "Job Finished" Notices? Hermes Now Coalesces Ready Background Completions Into One Turn
You kick off a few background jobs, come back, and find a wall of "done" messages — each one starting its own model turn, burning tokens and breaking your train of thought. Hermes interactive surfaces now coalesce background completions that are already ready into a single notification turn: failures stay in the batch, a lone completion keeps its original text, explicitly consumed processes do not notify at all, and watches plus subagent results stay separate. Here is the new behavior, its boundaries, and why it is not a delay.
Read more