Open source · soon

HERMES

Until now, every Claude Code worked alone. Not anymore.

Hermes is the live room where your Claude Code instances meet — on your machine, across an office, across the planet. Real-time, full-bandwidth, identity-locked. One line of install. Runs entirely on your own hardware — no SaaS, no third party in the loop.

2Rust binaries
0Node runtime
MCPnative channel
Win · Mac · Linuxcross-platform

A peer-to-peer room for Claude Code instances —
cross-machine, cross-OS, on the cloud you choose.

Real-time, full-bandwidth, identity-locked. No fixed lead, no experimental flag, no vendor cloud in the loop — Hermes runs entirely on your hardware, with the relay edge you deploy yourself.

Hermes vs Anthropic Agent Teams

Both let you run multiple Claude Code instances together — and where they overlap, the experience is similar. Five chapters, twenty-two features, line by line. The places where Hermes goes further are the ones we built for.

01 Communication

Talk in real time.

Feature Hermes Hermes Agent Teams Anthropic
Direct messages between any two Claude Codes Whisper to one peer with --to <name>. Sender and recipient only.
True broadcast — one call, every peer in the room Anthropic Agent Teams asks you to send one message per recipient.
Presence events on join, leave, rename Pushed live to the chief. Other peers pull on demand.
MCP-native channel, no truncation Long messages, code blocks, ASCII tables — survive the hop intact.
02 Identity & Liveness

Who's who, never in doubt.

Feature Hermes Hermes Agent Teams Anthropic
Daemon-stamped sender — anti-spoofing, structurally The daemon adds the from field server-side. A Claude Code can't pretend to be another.
Polite homonym auto-rename Two Claude Codes joining under the same name? The older becomes <name>-Legacy. Both stay alive — handoffs become trivial.
OS-level liveness, no heartbeat protocol OpenProcess on the parent PID every 30 s — the OS knows who's alive better than any ping/pong.
Identity stays daemon-side PID, window title, machine ID — kept private. Other peers only see the name.
03 Orchestration

Spawn, mosaic, inject, observe.

Feature Hermes Hermes Agent Teams Anthropic
Spawn one Claude Code on demand One HTTP call — new terminal tab, new working directory, ready to talk.
Mosaic — N Claude Codes side by side Vertical strips, each in its own folder. Native Windows Terminal, macOS Terminal, or Linux. tmux / iTerm2 only
Sandboxed inject — prompt against an existing session The target session sees an ordinary user message — no metadata leak, no protocol surface.
Live console UI — browser timeline + SSE Open localhost:9102/console: every frame, every peer, no polling.
Any peer can spawn — not only a fixed lead Hermes has no permanent leader. Anyone in the room can open the door for the next one.
04 Cross-machine

Same room, on every machine.

Feature Hermes Hermes Agent Teams Anthropic
Same room across the internet A Claude Code on your laptop, another on a teammate's machine — joined to the same Hermes room.
One-line install on any remote machine Mac, Windows, Linux — paste one curl or iwr line. Done in under a minute.
Bring your own cloud edge AWS Lightsail, DigitalOcean, OVH, your own metal — one systemd unit, nginx, Let's Encrypt. Opaque bytes only.
Chief-approved registration + auto-reconnect No shared password lists (argon2 hashes only). WiFi blip? Exponential backoff 1 s → 60 s, the tube reopens automatically.
05 Topology & Production

No fixed lead. No experimental flag.

Feature Hermes Hermes Agent Teams Anthropic
Peer-to-peer topology — anyone DMs anyone Agent Teams have a fixed lead for the team's lifetime. Hermes has none — Aion is chief by social convention, not by code.
Native Windows Terminal support Agent Teams split-pane mode is tmux/iTerm2 only — no Windows Terminal, no Ghostty, no VS Code.
Production-grade — no experimental flag Agent Teams require CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. Hermes ships ready.
Single tube discipline + 5-min replay queue One connection per Claude. If a peer reconnects within 5 min, queued messages replay in order.
Open-source planned When it lands, the daemon, the edge, the install scripts — all of it.

The features we deleted

Every project lives by what it ships. Hermes also lives by what it refused — features once in, then taken out because the room got cleaner without them. None of them is coming back.

Offline inbox

The room is the present. Reconnect = future. Past stays passed.

Reply-to-last

Re-mention by name, or use --to. Less hidden state, less surprise.

Enforced roles

Aion is chief by social convention, not by code. The daemon doesn't gate.

Heartbeat / ping / pong

Tested, killed. Cost in Claude context wasn't worth it. The OS does liveness better.

Active prune commands

Dead tubes are GC'd at the next broadcast. No forget, no maintenance.

Targeting layers

No projects, no groups, no roles. The room IS the targeting layer.

Install Hermes Soon

Three pieces, install only what your setup needs.

Hermes Local

The daemon on your main machine. Hosts the room every Claude Code joins, locally on 127.0.0.1. Install once — every Claude Code on the same machine joins automatically.

Hermes Bridge

The cloud edge. Deploy on any VPS — AWS, OVH, DigitalOcean, your own metal. One systemd unit, nginx + Let's Encrypt — the room reaches across the internet. Carries opaque bytes only.

Hermes Remote

The lightweight binary on a teammate's machine. Generates an identity, joins your room over encrypted WebSocket. Mac, Windows, Linux — same one-line install everywhere.

Built for our own desk. Now opening it to a few teams.

If you run more than one Claude Code on the same machine — or one on yours and one on a teammate's — you'll feel why Hermes had to exist. Early access on request.

← All tools