hal0 1.6.0 is out
hal0 1.6.0 shipped on 23 October 2026. Most of this release is about the Hermes agent: a much newer Hermes, a safer way of installing it, and a way to reach every Hermes profile from Open WebUI. There are also some memory-engine and security changes that apply to every box.
Release: Release hal0 v1.6.0 · Hal0ai/hal0 · GitHub
Full changelog: CHANGELOG.md
Highlights
Hermes v0.22.4 on Python 3.14, installed as a release
The bundled Hermes goes from 0.19.0 to v0.22.4, and its venv now runs on a uv-managed Python 3.14. Each build goes into its own release directory, and hal0 checks it before switching to it. If the new release fails to start, hal0 switches back to the previous one automatically. hal0 agent upgrade hermes --to only accepts vetted commits now, and hal0 refuses to downgrade onto a state.db that a newer release has already written.
Every Hermes profile in Open WebUI, with hal0’s tools and memory
hal0 registers each Hermes profile as its own model on /v1. The Open WebUI model picker lists hermes-agent, coder, hal0-brain and any other profiles you have, next to your slot models. Every named profile also gets hal0-admin and hal0-memory, with its own identity and its own private memory bank. That includes profiles you cloned yourself, which used to start with no tools at all.
A new Agents view
Hermes and Pi each get a card that shows the agent’s state: not installed, broken, down, degraded, working, ready or serving. A degraded card lists its reasons, with a fix next to each one where hal0 has one. Flip a card over to restart the agent or the gateway, switch persona, change command approvals, re-sync profiles to Open WebUI, or run an upgrade or repair and follow its steps live. Pi is a live card now, and sudo hal0 agent upgrade pi re-pins it without uninstalling it first.
Pick the memory engine’s model without a restart
The memory engine can run on a local slot or on any upstream model hal0 already routes, such as an OpenRouter or MiniMax model. Choose it under Settings → Data → Memory → Engine model, or run hal0 memory graph enable --model <id>. The change takes effect immediately, with no engine restart. A new Engine running row shows the model the engine actually loads. It also flags an override in /etc/hal0/hindsight-llm.env that used to go unnoticed.
Rotating a key ends every connection that used it
After a key rotation, open WebSockets and Server-Sent Events streams that hold the old credential are closed. When a session expires, its streams close too. Before this release, a connection opened before a rotation kept working after it.
hal0 doctor properly checks the Hermes gateway
New doctor rows check the gateway unit, each served profile’s /v1/models, profile tool wiring, linger for the hal0 user, and drift in the Hermes environment. If you turned the gateway off on purpose, these rows warn instead of failing.
Also fixed
- Your persona’s prompt now actually reaches Hermes. It used to be written to a config key Hermes never reads.
hal0 updatewritessessions.auto_prune: falsebefore the new Hermes first starts, so session history is never pruned.- Re-running the installer or
hal0 agent install hermesno longer turns a gateway or bench timer you disabled back on. - A Hermes repair or reprovision no longer cold-loads a large model just to smoke-test it.
- Restarting the agent from the dashboard no longer fails with “Interactive authentication required”.
- The slot log drawer no longer gets stuck on “reconnecting…” when hal0-api can’t read the journal. It now tells you how to fix the permissions.
Before you update
- Coming from 1.3.x? Run
hal0 update --target 1.5.0first, thenhal0 updateagain. Boxes on 1.4.x or later can update directly. - Expect a short Hermes outage. The first
hal0 updatebuilds the new Hermes release next to the old one, then switches over. - Installed Hermes before 1.6.0? Run
sudo hal0 agent reprovision hermes --repaironce so the default profile shows up in Open WebUI.hal0 doctorwill remind you. - To chat with a non-default profile, run the gateway. From Hermes v0.22.3 onward, profile chats in the Hermes dashboard and the
hermes chatCLI go through the Hermes gateway. If you need them, runsudo systemctl enable --now hermes-gateway. - Don’t roll back to 1.5.x. 1.5.x can’t build a Python 3.14 Hermes, so its Hermes repairs will keep failing. The running agent keeps working, but the fix is to update back to 1.6.0. Don’t hand-edit
/etc/hal0/hermes-python.env. - The agent chat proxy is gone.
/api/agents/{id}/events,/submitand the/session/*routes now return 404. Nothing in hal0 has called them since v0.4. If a script used/session/handshaketo get a cookie, sign in through/api/auth/logininstead.
Update
hal0 update
hal0 doctor all
If something breaks, please open an issue using the bug template and include the hal0 doctor all output. Questions are welcome in Q&A.
Thanks to everyone who tested the release candidates and sent in fixes.