Hermes is the messaging and agent bridge for Claude Max and other non-Grok runtimes that cannot call Grok Bot’s SendToAgent. It is not a thirteenth Grok desk, not a replacement for Cursor conductors, and not a reason to burn Claude Opus or OpenRouter on routine handoffs. On this fleet Hermes must talk to local Qwen on loopback — the same OpenAI-compatible worker at http://127.0.0.1:8080/v1 — so the bridge stays cheap while Grok Bot desks stay the cockpit.
Bridge, not a desk
Claude / non-Grok → Hermes → local Qwen (127.0.0.1) · Grok desks still use SendToAgent
Named desks. SendToAgent between desks.
No SendToAgent. Needs a bridge for cheap handoffs.
Desk playbook. Loopback worker only.
Bridge plumbing. Not a roster desk. MUST use local Qwen.
Why this page exists
I already published the Grok Bot ops desk (How I Use Grok Bot), the IT Support can/can’t page (IT Support desk), the local Qwen desk playbook (How I Use Local Qwen), and the routing map (Cursor and local Qwen). Those pages answer “who sits where” and “who drafts on the Mac.”
They do not answer the cross-runtime gap:
Claude Max (and other non-Grok agents) cannot ping a Grok Bot desk with
SendToAgent. Quick Audits, scheduled Claude jobs, and Cowork-side work still need a way to hand a cheap subtask across the stack without turning Dennis into the paste layer.
Hermes fills that gap as a bridge. Persistent work still lands in GitHub receipts, Drive’s agent-now board, and public desk pages. Live radio stays on Buzz. The methods stay in the shared skills repo. Hermes does not invent a new department.
CCS framing (Content, Checklist, Software): this article is the Content. The install and smoke sections are the Checklist. Hermes CLI + ~/.hermes/ config + local Qwen are the Software.
The problem: the cross-runtime gap
Grok Bot desks can hand work to each other with SendToAgent. That is the conductor pattern on the Grok side.
Claude Max seats — home and travel — do not get that tool. When a Claude Quick Audit or a Cowork job needs a Grok specialist (IT Support, Meter Maid, Fleet Monitor, Training), someone used to paste the ask by hand. That breaks the agents-first house rule: agents handle first; humans are not the paste layer between runtimes.
Bad “fixes” we refuse:
| Temptation | Why it fails |
|---|---|
| Default Hermes to Claude Opus / OpenRouter | Burns Max on routine bridge traffic. Empty seats by midweek. |
| Mint a new Grok desk named “Hermes” | Hermes is not a roster role. Desks stay skills + judgment + receipts. |
| Tunnel local Qwen to the public internet so “everyone can see it” | Loopback worker has no real auth. Wrong architecture (install page). |
| One Hermes install for both laptops | Hermes talks to this machine’s 127.0.0.1. Dual Mac = two installs. |
| Identify the live Mac by hostname alone | Hostnames drift. Prefer 128 GB unified memory + live tools (Hermes binary + Qwen PONG). |
Architecture: where Hermes sits
Three layers stay stable (hub): skills (playbook) → departments (six) → agents (runtime desks). Hermes is plumbing between runtimes, not a seventh department.
Read top-down
- Conductors own tools, publish, spend gates, and roster. Grok Bot uses
SendToAgent. Cursor uses shell/tools on the Mac. Claude Max does not get Grok’s fan-out tool. - Local Qwen is the $0-API draft worker on loopback (desk playbook). Stage only — never send, publish, or spend. Endpoint
http://127.0.0.1:8080/v1; canonical ship modelmlx-community/Qwen3.8-27B-4bit(travel may still serve…-oQ6). - Hermes bridges non-Grok agents into that cheap worker without replacing Grok desks. CLI
~/.local/bin/hermes, home~/.hermes/. - Frontier models stay for judgment. They are not the default engine for every bridge ping.
- Buzz / agent-now / Fleet Comms are status rails. Receipts still go to GitHub
agent-notesand public desk pages when public-safe (where agents talk, persistent agents).
Flow: Claude / Cowork → Hermes → local Qwen · optional escalate → frontier · Grok desks stay on SendToAgent.
When to use Hermes vs SendToAgent vs Buzz vs agent-now
| Need | Use | Do not use |
|---|---|---|
| Grok desk → Grok desk | SendToAgent on Grok Bot | Hermes, Buzz paste, human relay |
| Claude Max / non-Grok → cheap local worker or coordinated bridge | Hermes (Qwen-backed on that Mac) | Opus default, OpenRouter for routine bridge |
| Two different models must talk in the same minute | Buzz canary (links, not walls of text) | Treating Buzz as the durable record |
| Claim a shared job / leave a done receipt across runtimes | Drive agent-now (and GitHub notes) | Chat history as proof |
| Fleet or seat status one-liners | Fleet Comms / Meter Maid dashboards | Inventing percentages |
| GCT / factory / MAA first drafts from Cursor | Local Qwen via qwen (conductor stays Cursor) | Pasting loopback into Cursor Override Base URL |
One-line rule: SendToAgent for Grok-to-Grok. Hermes for non-Grok bridge traffic on local Qwen. Buzz for live cross-model radio. agent-now for the lock and the receipt.
Standing rules (do not soft-pedal these)
- Hermes is a bridge, not a Grok desk. Do not add “Hermes” to the twelve-desk roster table as if it were IT Support or Meter Maid.
- Never default Hermes to Claude Opus or OpenRouter for routine bridge work. That burns Max. Point the provider at local Qwen’s OpenAI-compatible endpoint.
- Preferred endpoint:
http://127.0.0.1:8080/v1. Model id: whatever/v1/modelsreturns on that Mac. Canonical new installs usemlx-community/Qwen3.8-27B-4bit(install recipe). Do not re-download a second quant if a working MLX stack + weights are already on disk. - Dual laptop = two installs. Each Mac needs its own Hermes CLI +
~/.hermes/and its own local Qwen, because Hermes talks to loopback on that machine. - Identify the live Mac by capability, not hostname folklore. Prefer the machine with 128 GB unified memory and live tools (Hermes on PATH, Qwen answering PONG). Hostnames drift after restores.
- As of 9 September 2026: both Macs have Hermes. The 128 GB home Max Mac has Hermes + Qwen up (smoke
HERMES_QWEN_OK, modelQwen3.8-27B-4bit). The 64 GB travel Mac now has Hermes CLI +HERMES_QWEN_OKon the existing Aug 25 local-qwen-agents tree / cachedQwen3.8-27B-oQ6(~22 GB) — not a blank reinstall or second 16 GB pull. Travel Qwen stay-up can still be flaky; bring the existing server up rather than re-downloading weights. - No secrets on the public page. No host IDs, account numbers, IPs, tokens, or machineIds. Same withholding rules as the IT Support desk.
- Q owns the OS and skills propagation; Q does not own Hermes install. Austin/IT owns the Mac Hermes lane.
Per-Mac install + Qwen-backed config checklist
Public-safe paths only. No keys. Full Qwen stack steps live on How to install local Qwen — do not fork that recipe here.
A. Confirm you are on the right machine
- Apple Silicon Mac with enough unified memory for 27B 4-bit (practical floor 32 GB; comfortable 64 GB+; our live bridge prefers 128 GB + live tools).
- You can open a terminal as the Mac user who owns the tools.
- You are not identifying the box by hostname alone.
B. Local Qwen worker (required before Hermes bridge traffic)
- MLX Qwen server bound to loopback only (
127.0.0.1:8080). qwen statusshows the expected model id.qwen upif down; first load into unified memory is slow.qwen pingreturnsPONG.curl -sS http://127.0.0.1:8080/v1/modelslists the model id this Mac actually serves (4bit or oQ6).- Cursor Override OpenAI Base URL is not pointed at loopback (cloud cannot reach it).
C. Hermes install paths
- CLI on PATH:
~/.local/bin/hermes(confirm withwhich hermes/hermes --help). - Home directory:
~/.hermes/with at leastconfig.yamlandskills/. - Not looking for an Applications “Desktop app” as the source of truth — this lane is CLI + home dir.
D. Point Hermes at local Qwen (the whole point)
- In
~/.hermes/config.yaml, the default / routine bridge provider is the local OpenAI-compatible endpoint (http://127.0.0.1:8080/v1), model id matching/v1/modelson that Mac. - Claude Opus / OpenRouter are not the default for routine bridge calls.
- Frontier models remain available for judgment escalations only — explicit, rare, metered.
- No API keys, tokens, or account numbers land in chat, Drive notes, or this public article.
E. Dual-Mac reminder
- After a wipe or restore, restore Hermes and start the existing Qwen stack if weights/scripts are still present; only reinstall/pull if the tree or cache is gone.
- Do not expect the other Mac’s loopback worker to answer.
- Re-run smoke tests on the machine that will carry bridge traffic.
Smoke test commands
Run on the Mac under test. Expect local answers only.
# 1) Hermes present which hermes hermes --help | head # 2) Hermes home present ls ~/.hermes/config.yaml ~/.hermes/skills # 3) Qwen worker up qwen status qwen ping # expect PONG # 4) OpenAI-compatible models list curl -sS http://127.0.0.1:8080/v1/models # expect this Mac's model id (4bit or oQ6) in the JSON # 5) Bridge smoke label used on this fleet # After a successful Hermes→Qwen round-trip, record: # HERMES_QWEN_OK
Pass: Hermes binary + ~/.hermes/ present, Qwen up, models list shows this Mac’s id, bridge round-trip labeled HERMES_QWEN_OK.
Fail: Missing binary after a wipe, Qwen down, or config still defaulting routine traffic to Opus/OpenRouter — fix before inviting bridge load.
Trenton owns qwen status | up | ping. Austin owns Hermes install/config. Meter Maid audits seat burn if someone “fixed” the bridge by pointing it at Max again.
Ownership
| Owner | Owns | Does not own |
|---|---|---|
| Austin / IT Support | Mac Hermes lane: install paths, ~/.hermes/ config pointed at local Qwen, dual-Mac restore of Hermes, public-safe receipts on the IT desk page | Inventing a new /it-support URL tree; spending or widening permissions |
| Meter Maid | Seat/usage audit: warn when bridge traffic is burning Max/OpenRouter instead of local Qwen; allocation map on the Grok hub | Starting Qwen; editing Hermes config as the primary fixer |
| Trenton | Local Qwen health: qwen status, qwen up, qwen ping, factory/gct/maa worker path | Hermes CLI install; Grok roster edits |
| Q (Ops Coordinator) | OS, skills, routing rules, agents-first reassignment | Hermes install on the Mac |
IT Support’s wider can/can’t remains on the desk page. Digital Plumbing is still the work category (what is Digital Plumbing, checklist) — Hermes is agent plumbing, not a new marketing pixel SOP.
How to keep this article updated (receipt → skill → page)
Follow dates follow work and the living-page rule: the face date moves when real work ships, not on a weekly clock.
- Do the live work (install, restore, smoke
HERMES_QWEN_OK, config change away from Opus default). - File a public-safe receipt on the IT Support desk page (and a one-liner on the Grok Bot hub when the fleet fact changes). No secrets, host IDs, or account numbers.
- Write the private agent-note in
Local-Service-Spotlight/agent-runtimeagent-notes/so the next runtime can replay the steps. - Update the skill / standing rule if the method changed (Hermes→Qwen default, dual-Mac, ownership).
- Edit this page only when the fact or checklist changed. Visible last-updated moves as a side effect of that publish. Keep original
datePublishedin schema. - Training + Documentation (Alex) owns the LDT loop that turns the receipt into the master training page across verticals. Austin hands Alex a clean draft; Alex ships or returns gaps.
Loop: Live work → Receipt → Skill update → Next run. See How skills propagate and Persistent agents.
Related pages (verified)
| Page | Role |
|---|---|
| How I Use Grok Bot | Ops desk hub, roster, SendToAgent culture |
| IT Support desk | Austin can/can’t + receipts |
| How I Use Local Qwen | Desk playbook for the Mac worker |
| Cursor and local Qwen | Three-lane routing map |
| Install local Qwen | MLX install + qwen commands |
| Where your agents talk | GitHub / Basecamp / Buzz / schedules |
| How skills propagate | Receipt → skill → runtime |
| Persistent agents | Trigger, QA, working files |
| Official Grok Bot | Product home |
What we withhold
Secrets, application passwords, tokens, vault contents, host IDs, AWS account numbers, public IPs, and machineIds stay off this page. Exact private config.yaml key material stays on the Mac. The method is public. The credentials are not.