The fastest way to tell whether your AI assistant is real is to ask it to text your mother.
This is not a joke. For most of 2025 and the first quarter of 2026, every "AI agent" I tried failed the same test for the same reason: it could not reach a normal person on the platform that normal person actually uses. Telegram, sure. Discord, fine. iMessage? Silence. iMessage is where everyone in my family lives, which meant that until v0.9.0, Hermes Agent could not text my mother.
On April 13, 2026 — five days after v0.8.0 patched its own brain — v0.9.0 fixed that. It also fixed two other things in the same shape, ran a security audit across the gateway, and somehow shipped 269 merged PRs in five days. The release notes call the new total sixteen messaging platforms. Two months earlier, the number was seven.
The three platforms that landed in one Saturday
Three new gateways shipped in v0.9.0, each one chosen to close a hole the existing list could not.
The first is BlueBubbles (iMessage). BlueBubbles is the open-source bridge that has been gluing iMessage into the rest of the world for years; v0.9.0 ships a full adapter against its webhook protocol, complete with auto-registration so you do not have to hand-edit any URLs. If you have a Mac in your house running BlueBubbles, you now have a Hermes Agent that texts on iMessage.
The second is WeChat (Weixin) through the native iLink Bot API. Not a screen-scrape, not a web emulator — the actual bot API, with streaming output and media uploads. For anyone running Hermes in mainland China, this is the difference between "fan project for foreigners" and "thing you can actually deploy."
The third is WeCom callback mode — the self-built enterprise app side of WeCom, with atomic state persistence so an enterprise deployment can survive a gateway restart without dropping users halfway through a conversation. The phrase "atomic state persistence" appears three times in the v0.9.0 release notes. Whoever wrote those notes was tired of stale-state bugs.
Three platforms, three completely different operational categories, one release.
A web dashboard for everyone who hates the terminal
The other change that reshapes who can use Hermes is the new Local Web Dashboard — a browser UI that runs next to your Hermes install and exposes the configuration that used to live behind hermes setup and hermes model. It runs locally, it does not phone home, and it is the first time the answer to "but my friend does not use the terminal" stops being "tell them to use the terminal."
This is also, quietly, the release where saying "Hermes Agent has a UI" stops needing a footnote. v0.11.0 will pile on i18n, theming, and mobile responsiveness — but the foundation is here.
/fast, /debug, and the small-but-loud lane
A clutch of slash commands showed up in v0.9.0, and the one that punches above its weight is /fast. It flips the active model into the priority-processing lane on providers that have one — OpenAI and Anthropic at launch. The first time you watch Hermes spin on a single tool call, you understand the bullet: you type /fast, you wait a beat, you keep going.
Around it: /debug does a one-shot diagnostic across every gateway you have running. hermes debug share uploads the resulting bundle to a pastebin so you can paste a link instead of a wall of text. hermes dump prints a copy-pasteable setup summary you can drop into an issue or a chat. /compress <focus> lets you compress a conversation while telling the agent which threads to preserve.
None of these are headline features. All of them are the kind of thing you only miss after a tool takes them away.
Backup, import, and the death of "now what?"
Two new commands quietly close one of the worst experiences in any self-hosted agent: hermes backup and hermes import cover the full configuration migration path. Skills, sessions, memories, cron jobs, .env values — they all serialize out and load back in.
This is the kind of feature that does nothing visible until the day your VPS catches fire, and then it saves you an evening. It is also what finally makes the "$5 VPS" deployment story we wrote about in March portable. Before v0.9.0, "moving Hermes" meant "configuring a fresh Hermes from scratch and hoping you remembered every key." After v0.9.0, it is one tarball.
Termux, proxies, and a quiet provider haul
Native Android/Termux got proper installation and TUI optimization in v0.9.0. The Termux path is no longer an experimental fork — it runs on the same tested install flow as Linux and macOS. If you want to run an agent on the phone in your pocket, the README and hermes now agree on how.
Alongside, unified proxy support finally lands across every platform: SOCKS, Discord-specific proxy, and system-proxy auto-detection. Self-hosters living behind a corporate firewall no longer fight a different proxy story per integration.
Provider-side, the release added native xAI (Grok) as a first-class provider, native Xiaomi MiMo, Qwen OAuth with portal request support, and Voxtral TTS (Mistral's audio model). It also introduced a pluggable context engine controllable through hermes plugins, so assembling the context window is no longer a black box you have to fork the project to change.
A breaking change, eulogized in one line
The breaking-changes section in v0.9.0 is short but worth reading. The /prompt slash command was removed — the release notes call it "a prefix expansion footgun," which is the most honest one-line eulogy a deprecated feature is going to get. LLM_MODEL was deprecated with automatic migration to the new variable.
Security: a hardening pass, not a single patch
v0.9.0 ran what the release notes call a comprehensive security hardening pass. The list reads like an audit checklist working its way through the codebase: Twilio webhook signature validation (closing an SMS-side RCE), shell injection neutralization in sandbox operations, git argument injection prevention, SSRF redirect guards in image uploads, path traversal protection in the checkpoint manager, and API server authentication enforcement.
This is the part of a release that does not get a blog post on its own. The reason it matters here is that v0.9.0 is also the release where Hermes started reaching into platforms that handle real consumer messaging — iMessage and WeChat — and the threat model of a chat bot that can also run shell commands changes the day you point it at a phone number.
By the numbers
269 merged PRs from 24 contributors across 487 commits — in five days.
That cadence is not a v0.9.0 thing. v0.7.0 → v0.8.0 was five days. v0.9.0 → v0.10.0 will be three. The shape of the next month is already visible from this release: a stack of weekly releases, each focused on a single theme large enough to deserve its own name. v0.9.0's theme is platforms. Eight days from now, v0.11.0 will rebuild the interface. Five weeks from now, v0.14.0 will rewrite how you install the whole thing.
---
I keep coming back to BlueBubbles. The change in v0.9.0 that probably took the most lines of code is the transport refactor that nobody is going to notice. The change that took the fewest lines, by comparison, is the iMessage adapter. And yet the second one is the one I told my mother about — because it is the one that finally lets the agent on my server reach the person I actually talk to every day.
Releases that ship "more platforms" rarely sound exciting. They sound like a bullet list. But "more platforms" is, on close inspection, the same shape as "more people who can use this thing." v0.9.0 added three of them on a single Saturday afternoon.