Agents

Hermes coder

Hermes’s second profile, for code. When I ask, it starts a coding session on my own server, but only after I approve it, and the work ends as a pull request I review and merge. It cannot read my notes.

Category
BuildMakes and runs things: code, sites, servers.
Runtime
Hermes Agent in a container on my own server, starting Claude Code sessions there
Trigger
On demand, from a chat message; I approve each session
Adoption
AssessHow far an agent has made it into how I work, given as a ring, after the Technology Radar.Adopt Part of how I workTrial Runs for real, on probationAssess Being looked at or built, not running regularlyHold Stopped or paused
A folded-paper card labelled Request passes a gate with a checkmark labelled Approve into a paper workshop, where an origami robot with a code mark on its chest types code at a laptop, labelled Hermes coder. Out comes a sheet titled Pull request with a short diff, then a card with an empty checkbox labelled Review.

What it does

Hermes coder is the second profile of the deployment described on the Hermes page: the same container on my own server, the same way in from Telegram, but its own bot and a different job. It dispatches. It never codes.

When I message it a request, it writes a brief in my own words and asks a small MCP server of my own to start a Claude Code session on the same server. Before anything starts, an approval button reaches me in Telegram. Anything but an explicit yes is a no, and that check lives in the server, not in a prompt. Claude Code then does the coding, as a separate user, in one of a few allowed repositories. Hermes coder cannot read my notes.

How a coding session starts and reaches me A request from Telegram reaches Hermes coder in its container on my server. It asks its session MCP, which passes an approval gate before a Claude Code session starts under its own user. The session ends as a draft pull request on GitHub, and a two-way Remote Control link shows it in the Claude app on my desktop and phone. OUTSIDE MY SERVER HERMES CONTAINER OUTSIDE APPROVAL REMOTE CONTROL Telegram me, on my phone Claude app desktop and phone PROFILE Hermes coder writes the brief MCP Session starts sessions SESSION Claude Code its own user GitHub draft pull request
The heavy line is the one path that starts a session, through the approval gate that asks me in Telegram. The dashed line is Remote Control: the session appears in the Claude app, and I watch and steer it from there.

Why a session, not a chatbot

I could ask a chatbot for a patch and paste it in. I wanted the opposite: the work runs on my server, in a real checkout, with the tools, tests and build of the repository, and it keeps running when my laptop is closed.

Claude Code’s Remote Control puts that session in the Claude app, on my desktop and on my phone. I open it to see what it is doing, answer its questions and steer it, from wherever I am. The chat message kicks it off; the app is where I stay with it.

The session ends as a draft pull request on GitHub. I read the diff and merge it myself, or close it.

What it cannot do

It cannot merge, push or review. Those stay mine, for the same reason Hermes never writes a note: the step that changes something is the step I keep. It cannot read my notes, and nothing starts without my yes.

It sits in Assess because the chain is young and I have started few sessions this way. Whether a brief in my own words beats opening the app and typing one, I do not know yet. The scepticism on the Hermes page applies here with more weight, since this is the profile that leads to code.