Hermes Claude CLI: The Pipeline Behind The Plugin

Share this post

The Hermes Claude CLI pipeline is where the new subscription plugin earns its engineering respect: Hermes talks to the plugin, the plugin drives the unmodified official Claude Code executable, and the conversation flows as native stream-json — with Hermes keeping its own loop, tools and approvals the whole time. No forked CLI, no patched binary, no shadow client. Here’s the pipeline end to end: what the CLI does on every request, the one-request admission relay that keeps billing honest, the version requirements, and the commands to verify it all yourself.

Short answer

  • The pipeline: Hermes → plugin → official claude CLI → native stream-json — the CLI is transport; Hermes keeps loop, tools, approvals and compaction.
  • Versions that matter: Hermes 0.21.4+ (older versions refuse the plugin cleanly); Claude Code CLI installed and logged in — native 2.1.263 is the qualified version.
  • Every request = a fresh claude process in a private temp directory, with native tools/skills disabled — Hermes’ tool inventory is what the model sees.
  • The admission relay: a per-request loopback that forwards exactly ONE upstream request — native retry attempts are rejected locally, so one turn can’t quietly bill twice.


The hermes claude cli pipeline, end to end

Install the CLI the official way (npm install -g @anthropic-ai/claude-code), log in, and the plugin treats that binary as a request-scoped model client. Each Hermes turn spawns a fresh claude process in its own private temporary directory and process group — cancellation kills the whole tree, so nothing outlives a stopped request. Native tools, skills and settings sources are disabled in that process: the model sees Hermes’ tool inventory (mapped through MCP with inert callbacks), Hermes’ system prompt, and the canonical conversation history replayed in order. The CLI does the talking to the service; Hermes does everything else.

Despite the plugin’s “DirectSDK” name, there’s no Python Agent SDK dependency — it speaks the CLI’s native stream-json directly. Text streams incrementally into Hermes; tool batches publish complete, with final usage and native stop reasons intact. It’s the same discipline as every good bridge: the transport is faithful, and ownership stays where it belongs.

The admission relay: one request, honestly

The cleverest component solves a billing-integrity problem: the qualified native CLI (2.1.263) can attempt extra generations even when told one turn only. The plugin’s answer is a request-scoped loopback relay on an ephemeral port with a random route: it forwards the first Messages request upstream and rejects any subsequent attempt locally. Hermes receives the first completed response with its actual usage and stop reason — and a completed response survives even a blocked native retry. One turn, one upstream request, one draw on your allowance: the plugin’s own regression tests fail on the old two-request behaviour by design.

ComponentJob
Fresh process per requestNo state bleed; cancellation kills the tree (killpg / taskkill /T)
Loopback admission relayExactly one upstream request per turn; headers pass through memory, never logged
History replayPrior frames marked no-query with zero-turn acknowledgments; only the final frame queries
Hermes-owned compactionNative autocompaction disabled — Hermes’ own summariser runs (qualified live at 154K→compaction→continue)

🔥 Want this set up without the guesswork? The full CLI-powered Claude + Hermes stack, wired cleanly is exactly the kind of thing we set up together inside the AI Profit Boardroom — 3,700+ members, four live calls a week, daily tutorials, done-for-you templates and a 30-day roadmap. Prefer 1-on-1 help? Book a free SEO strategy session and we’ll map it out for your business.

Versions, commands and verification

The requirement stack, precisely: Hermes 0.21.4 or newer (older versions log one clear failed-to-load warning rather than half-working), Python 3.10+ on Linux, macOS or Windows, and the official CLI on PATH — or pointed to via CLAUDE_SUBSCRIPTION_DIRECTSDK_COMMAND when it lives elsewhere. Selection runs through hermes model, which checks the CLI at every seam and pulls the model picker from the CLI’s own initialize handshake — zero upstream requests, so browsing models costs nothing. Short names (opus, sonnet, haiku, fable) resolve to pinned 1M/200K routes automatically.

Account-safety honesty: this plugin is “Official” in the Hermes catalog — reviewed and pinned by NousResearch — which is not Anthropic endorsement. Commenters on my video raised real concerns, including claims of past account bans for routing Claude subscriptions through third-party harnesses; my advice is what I replied there: check Anthropic’s current terms of service before connecting your account. The plugin’s own disclosure: every turn bills your subscription’s Agent SDK allowance, and it inherits whatever account the claude CLI is logged into. Experimental by its authors’ own label — as of 23 September 2026.

Trust-but-verify is built in: the repo ships transport-invariant tests and eval scripts (admission and cache-wire checks you can run against your own claude binary), and the README suggests the exact comparison I’d recommend — Hermes /usage against Claude Code /cost on the same task. Setup context lives in the subscription guide; credential mechanics in the auth page.

The bottom line on the hermes claude cli

The hermes claude cli pipeline is the rare bridge built like infrastructure: unmodified official binary, fresh isolated processes, a relay that makes double-billing structurally impossible, and ownership boundaries (Hermes loops, CLI transports, official login authenticates) that stay exactly where they should. Update Hermes, install the CLI, and the plumbing largely disappears — which is the highest compliment plumbing gets.

FAQ: hermes claude cli

How does the Hermes Claude CLI pipeline work?

Hermes → plugin → the unmodified official claude CLI speaking native stream-json — the CLI transports, Hermes keeps its loop, tools, approvals and compaction.

What versions do I need?

Hermes 0.21.4+, Python 3.10+, and the official Claude Code CLI installed and logged in — native 2.1.263 is the qualified version.

What is the admission relay?

A per-request loopback that forwards exactly one upstream request and rejects native retry attempts locally — one turn can’t bill twice.

Does each request share state?

No — every request spawns a fresh claude process in a private temp directory with native tools/skills disabled; cancellation kills the whole process tree.

Can I verify the behaviour myself?

Yes — the repo ships tests plus admission and cache-wire eval scripts, and comparing Hermes /usage with Claude Code /cost on one task is the practical check.

Is the CLI modified in any way?

No — it’s the official binary; the plugin has no forked client and no credentials of its own.

Next step: if you want a verified one-bill Claude pipeline under your agent working for you this week, join the AI Profit Boardroom for the full walkthroughs and live help — or book a free SEO strategy session and I’ll point you at the fastest path for your situation.

About Julian Goldie: SEO agency owner with 10+ years in SEO, 394K+ subscribers on YouTube, a 100% job-success score on Upwork, 75K+ members across his communities, and author of a best-selling SEO book. He runs the AI Profit Boardroom community and offers a free SEO strategy session.

Related reading

Last updated September 2026. This is the living guide to hermes claude cli — it gets updated as the tools change.

Table of contents

Related Articles

Hermes-Claude auth explained: claude auth login owns everything, the plugin never touches credential files, no API key — plus the safety map.
Hermes Claude is back: the official subscription plugin, the five model routes, what works inside the agent loop, and the honest cautions.
Hermes agent with Claude Code subscription is live: the official plugin, the 3-minute setup, real metering numbers, and the honest ToS caution.
Is DeepSeek V4 Pro shutting down? No. DeepSeek confirmed the V4 Pro API continues past 14 September 2026 with billing unchanged. Here is the story.