Hermes Agent × Byoky

Run Hermes Agent — on your Pro/Max plan or a free gift.

Hermes Agent

Point Nous Research's self-improving CLI at the Byoky bridge.
Zero API credits. Keys stay in your wallet.

Start Setupor
Requires Byoky extension v0.9.1+ and @byoky/bridge@0.9.4+ (for byoky-bridge connect). Firefox is live on AMO; Chrome Web Store is still on 0.7.4 in review, so load the v0.9.1 unpacked build for now.
Two ways to run Hermes for free

Token gift from the token pool

Anyone can gift Anthropic token access on the Byoky token pool. Hermes runs entirely on the gifter's budget — capped, revocable, and proxied through their wallet so their key never leaves their machine.

No card, no signup, no Anthropic account.

Your Claude Pro/Max subscription

Already paying for Claude Pro or Max? Connect it to Byoky with a setup token and Hermes runs on the same subscription credits you already use in claude.ai. No API credits, no per-token billing.

Uses your existing plan.

Coming from OpenClaw?

Hermes is the spiritual successor to OpenClaw and ships a built-in migrator. After installing Hermes, run hermes claw migrate to import your settings, memories, skills, and (optionally) API keys. The Byoky integration looks identical on this side — same bridge, same env vars, same wallet credential. If you were running OpenClaw with the Byoky openclaw-plugin, no plugin equivalent is needed for Hermes; the bridge handles everything.

1

Install the Byoky wallet

The wallet holds the Anthropic credential (yours, gifted, or a Claude Pro/Max setup token) and proxies every request. Hermes runs on your desktop, so the wallet needs to live in a desktop browser on the same machine.

Pick your browser:

Version 0.9.1+ is required. The Chrome Web Store is still serving 0.7.4 — download the unpacked zip above and load it via chrome://extensions → enable Developer mode → "Load unpacked" on the extracted folder. Firefox is already on the required version.

iOS and Android wallets exist but can't host Hermes — the hermes CLI and the Byoky Bridge need a desktop OS. (The mobile wallets are for gift senders or browsing the token pool on the go.)

2

Add an Anthropic credential

Three options — pick whichever fits.

Free token gift — grab one from the Token Pool. Filter for Anthropic. The gifter's key runs the calls; you just burn their budget.
Claude Pro/Max setup token — run claude setup-token in your terminal and paste the result into Byoky. Hermes runs on your existing plan, no API credits needed.
Your own API key — add an Anthropic API key directly. Only do this if you already pay for the API tier (otherwise Anthropic won't classify the traffic as first-party and will fail with a billing error).
3

Install Hermes Agent and the Byoky Bridge

Hermes is Nous Research's self-improving CLI agent. The Bridge is the tiny local proxy that sits between Hermes and your wallet.

# Hermes — clones into ~/.hermes, sets up a uv venv, registers `hermes` on PATH.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --skip-setup

# Byoky bridge
npm install -g @byoky/bridge
byoky-bridge install

byoky-bridge install writes a native messaging host manifest that whitelists the Byoky extension. Restart your browser once so Chrome picks up the manifest. You only ever do this once per machine.

Native Windows is not supported by Hermes — install WSL2 and run the command above. macOS, Linux, and Android via Termux are supported.

4

Connect the wallet

One command that opens the browser, approves a session, and starts the bridge proxy on :19280.

byoky-bridge connect

A browser tab opens on http://127.0.0.1:<ephemeral>. Click Connect wallet, approve the session in the Byoky popup, and the tab reports success. The bridge is now listening on 127.0.0.1:19280 and stays up as long as your browser is running. Re-run the command after a browser restart.

Verify it:

curl http://127.0.0.1:19280/health
# → {"status":"ok","providers":["anthropic",...]}

If anthropic is missing, the wallet doesn't have an Anthropic credential loaded yet — go back to step 2.

5

Point Hermes at the bridge and run

Two env vars, pick the model, and you're chatting.

export ANTHROPIC_BASE_URL=http://127.0.0.1:19280/anthropic
export ANTHROPIC_API_KEY=byoky

hermes model     # pick provider=anthropic and a Claude model
hermes           # start chatting

Add the two export lines to ~/.zshrc or ~/.bashrc so new terminals pick them up. The value of ANTHROPIC_API_KEY doesn't matter — the bridge strips the auth header and injects the real credential from your wallet. Token usage shows up in the wallet's Sessions view. If you're using a gifted credential, the gifter's budget ticks down in real time and the session stops cleanly when it hits zero.

Heads-up: Hermes auto-discovers Claude Code creds. If you have ~/.claude/.credentials.json on disk, Hermes will pick up that OAuth token and send it as x-api-key regardless of what you set ANTHROPIC_API_KEY to. This is safe — the bridge strips the incoming auth header and injects the wallet credential instead. But if you ever wonder why your explicit env var looks ignored, that's why.

Pro tip: Hermes ships a 36KB system prompt (its “SOUL.md”). Byoky relocates it into a <system_context> block in the first user message so Anthropic's third-party detection still classifies the traffic as Claude Code. No tuning required.

If something doesn't work

"Third-party apps now draw from your extra usage..."

Anthropic classified your request as non-Claude-Code. Almost always this means the wallet is using an API key instead of an OAuth setup token. Run claude setup-token in your terminal, paste the result into the wallet as a fresh Anthropic credential, and retry. Gifted Anthropic credentials already handle the classification on the gifter's side.

ECONNREFUSED 127.0.0.1:19280

The bridge proxy isn't listening yet. Run byoky-bridge connect — it opens a tab, waits for you to approve the session in the wallet, and starts the proxy on :19280. After a browser restart the proxy stops (the extension's service worker holds it open), so re-run the command to bring it back.

Hermes uses a different key than ANTHROPIC_API_KEY

Hermes auto-discovers Claude Code's OAuth token at ~/.claude/.credentials.json and uses it ahead of the env var. The bridge strips the incoming x-api-key at the boundary and injects the wallet credential, so this is safe. If you want Hermes to stop trying, either remove that file or set the env var explicitly via hermes config set ANTHROPIC_API_KEY byoky.

"invalid x-api-key" or "Invalid bearer token"

The key stored in your wallet is wrong or revoked. Grab a fresh one from console.anthropic.com, re-run claude setup-token, or use a free gift from the token pool.

Anthropic keeps returning 429 rate_limit_error on a gift

The gifter's upstream key is being throttled (the limit is on their account, not yours). Try a different Anthropic gift, or wait for the window to clear (usually 1 hour).

I want to switch models or providers mid-session

hermes model opens a picker for provider + model. Pick Anthropic and any Claude model that the wallet credential covers. For non-Anthropic providers, set the matching env var (e.g. OPENROUTER_API_KEY) and re-run hermes model — the Byoky bridge supports multi-provider routing too if you pass --providers anthropic,openai to byoky-bridge connect.

The bridge logs to stderr — tail it with tail -f ~/Library/Logs/byoky-bridge.log (macOS) if you need to see raw request errors. For a deep dive on why some configurations classify as third-party, see Bisecting Anthropic's Claude Code fingerprint.

How it works

hermes → HTTP → Bridge (localhost:19280/anthropic) → Extension → api.anthropic.com
                                                       ↑
                                              Keys live here. Always.
  1. Hermes sends Anthropic requests to $ANTHROPIC_BASE_URL — pointed at http://127.0.0.1:19280/anthropic.
  2. The bridge strips the placeholder auth header (Hermes's own stored token, if any) and forwards the request to your Byoky extension via native messaging.
  3. The extension injects the real Anthropic credential (your own API key, your OAuth setup token, or a gifted credential routed through the gifter's extension), rewrites Hermes's mcp_* tool names to PascalCase aliases, and relocates the SOUL.md system prompt so Anthropic still classifies the traffic as Claude Code.
  4. The streaming response flows back through the same path with tool names translated back. Hermes sees plain SSE, exactly as if it talked to api.anthropic.com directly.

For OAuth credentials (Pro/Max setup tokens), the extension routes outbound calls through the bridge a second time so the request is made from Node instead of Chrome. That bypasses the TLS fingerprint Anthropic uses to classify Claude Code vs. third-party apps — see the fingerprint post for the full story.

Ready to try it?

Grab a free Anthropic token gift from the token pool and you'll be running Hermes Agent on it in under five minutes.