Teknium, cofounder and lead engineer of Hermes Agent, posted the news: an official plugin that uses the Claude SDK path so Claude Code subscriptions work in Hermes again, without the old trade-offs. This whole page is what happened when I installed it the same morning.
§1I · the problem
The Double-Pay Problem
Imagine paying for a gym membership.
Then imagine the gym telling you the membership only covers the front room.
To use the good machines in the back, you pay again, by the minute.
That's what running Claude in an agent has felt like.
You already pay for Claude every month.
But the moment you wanted Claude inside Hermes, with tools and memory and a body, you needed a separate API key and a separate meter.
Same brain. Two doors. Two bills.
This plugin closes the second door for good.
THINKING IT?"Doesn't Hermes already support Claude?"
It supports the Claude API, which needs a key and a separate balance.
This plugin is different. It drives the real claude program, the one your subscription logs in to, so there's nothing extra to buy or set up.
§2II · how it works, in simple words
Hermes talks to the claude app, not to Anthropic
You already have a program on your Mac called claude. It's the Claude Code command line, and your subscription is logged in to it.
The plugin lets Hermes use that program as its brain, while Hermes keeps its own tools, its own memory, and its own safety checks.
THINKING IT?"So does Claude Code take over and run the agent?"
No. Hermes stays in charge. Claude Code is only used as the model, one request at a time.
Hermes decides which tools run, asks you before anything risky, and keeps the memory. That's what Teknium means by 'without the trade-offs'.
§3III · exactly how it works, step by step
One message's journey, start to finish
1
It's a folder. The plugin is a small folder of Python files that lands in ~/.hermes/profiles/claude-opus/plugins/. Nothing else on your machine changes.
2
Hermes loads it as a provider. On start, Hermes sees the folder and adds "Claude Subscription DirectSDK" to its list of brains, next to OpenRouter and the rest.
3
You send a message. Hermes builds the prompt the normal way: your text, the profile's memory, the skills, the tool list.
4
The plugin starts the claude program. It runs the real Claude Code CLI in the background, once per model call, and streams the prompt in.
5
Your login does the talking. The CLI already holds your subscription session, so the request goes out as you. No key is copied, opened, or printed.
6
Opus 5 answers. The reply streams back into Hermes, including any tool calls it wants to make.
7
Hermes runs the tools. Reading a file, running a command, fetching a page. Hermes does it, asks you first if it's risky, and sends the result back for the next call.
8
Repeat until done. Every loop is one fresh claude call. Hermes keeps the memory and trims the conversation when it gets long.
So when someone asks "but what IS it?", it's a plugin that lets Hermes use the Claude Code app on your Mac as its brain.
Same brain. One door.
§4IV · old way vs new way
The API key, or the plugin
OLD WAY · Claude through an API key
~20 min · two accounts
Open the Anthropic console and make a second account
Make an API key and add a balance to it
Paste the key into a Hermes env file
Watch a second meter run next to your subscription
Explain to yourself why you pay for Claude twice
Keep both logins alive, forever
NEW WAY · the official plugin
~3 min · one login
Update Hermes, one command
Install the plugin, one command
Make a profile and name the model: opus
Your existing Claude Code login does the rest
Hermes keeps its tools, memory and approvals
It shows up in the Agent OS on its own
THINKING IT?"I already set Claude up the old way. Do I have to redo it?"
No. Leave the old profile alone and make a new one for this plugin.
Profiles are folders. You can keep both and pick whichever one you want in the chat.
§5V · three beliefs to drop
What's holding you back
Wrong: "Plugins like this always break the next time Claude updates."
Right: It uses the unmodified official claude program, not a hack of it. Nous checks it at every step and refuses cleanly with an install hint if the CLI is missing.
Wrong: "I'm not technical enough to run models through a terminal."
Right: It's four commands and one word in a text file. Every one of them is on this page, with the real output I got.
Wrong: "If Claude runs inside another agent, it'll do things I didn't ask for."
Right: Hermes runs the tools, and Hermes asks you before anything risky. Claude only ever sees a prompt and sends back an answer.
Plenty of members had never opened a terminal before
158 pages of members, real businesses, real wins, already running Hermes profiles like this one.
You probably have this already. If not, it's one install and one login, and the login opens your browser.
Terminal · Claude Code
npm install -g @anthropic-ai/claude-codeadded 1 package in 6sclaude auth loginOpening browser to sign in with your Claude account…Logged inclaude auth status{ "loggedIn": true, "authMethod": "claude.ai", "apiProvider": "firstParty" }That's the login the plugin will use
real session · 22 Sep 2026 · my Mac · replayed at reading pace
What you're watching: the status check from my Mac. loggedIn true, authMethod claude.ai. That one line is the whole credential setup.
THINKING IT?"Do I need the paid Claude plan for this?"
Yes. The plugin uses your Claude Pro or Max subscription through the official CLI. There's no free tier for this route.
If you're already paying for Claude, you're done. That's the point.
§7VII · step 2
Update Hermes to 0.21.4 or newer
The plugin needs Hermes 0.21.4. Mine was on 0.21.2, and it refused to load until I updated, which is exactly what it should do.
Terminal · hermes update
hermes plugins install claude-subscription-directsdkError: Plugin requires manifest_version 2, but this installer only supports up to 1. Run hermes update.hermes update⚕ Updating Hermes Agent…→ Found 6202 new commit(s)→ Pulling updates… - hermes-agent==0.21.2 + hermes-agent==0.21.4→ Syncing bundled skills to all profiles…Update complete! (v0.21.2 → v0.21.4)
real session · 22 Sep 2026 · my Mac · replayed at reading pace
What you're watching: the real refusal, then the real update. Older Hermes fails loudly with a clear message instead of half-working. After the update the same install command goes through.
v0.21.2 → v0.21.46,202 commits pulledall 50 of my profiles kept working
THINKING IT?"Updating sounds like the part where everything breaks."
Hermes stashes your local changes, restarts your running gateways, and migrates every profile's config for you. Mine came back with fifty profiles intact.
Read the last line. If it says Update complete, you're good.
§8VIII · step 3
Install the plugin, one command
It comes from the official Hermes plugin catalog, pinned and reviewed by Nous. You can also clone it straight into one profile's folder, which is what I did.
Terminal · install the plugin
hermes plugins install claude-subscription-directsdkclaude-subscription-directsdk (official, maintained by NousResearch)Experimental model provider that runs Hermes turns on a Claude Pro/Max subscription through the official Claude Code CLI, so no separate API key.Cloning https://github.com/NousResearch/hermes-plugin-claude-subscription-directsdk…Installed claude-subscription-directsdk-experimental v0.3.0# or, per profile:git clone https://github.com/NousResearch/hermes-plugin-claude-subscription-directsdk ~/.hermes/profiles/claude-opus/plugins/claude-subscription-directsdk-experimental
real session · 22 Sep 2026 · my Mac · replayed at reading pace
hermes plugins install claude-subscription-directsdk
# per-profile instead: git clone the repo into ~/.hermes/profiles/<profile>/plugins/claude-subscription-directsdk-experimental
What you're watching: the catalog install, with the plugin's own description printed back. It declares itself a model provider, so Hermes finds it without any extra enable line.
§9IX · step 4
Make a profile and name the brain
One command makes the profile folder. Then two lines in its config say which provider and which Claude to use.
Terminal · the profile
hermes profile create claude-opusProfile 'claude-opus' created ⚠ This profile has no API keys yet… it will inherit keys from your shell environment. (fine: this profile doesn't need one)nano ~/.hermes/profiles/claude-opus/config.yamlmodel: provider: claude-subscription-directsdk-experimental default: opusSaved
real session · 22 Sep 2026 · my Mac · replayed at reading pace
~/.hermes/profiles/claude-opus/config.yaml
model:
provider: claude-subscription-directsdk-experimental
default: opus
plugins:
enabled: []
agent: {}
What you're watching: the whole config. Two lines that matter. The word after default is the one line I mentioned at the top: swap opus for sonnet, haiku or fable and you get a different Claude.
THINKING IT?"I've never touched a config file."
It's a text file with two lines you change: the provider name and the model name.
Copy them from the box above. That's it.
§10X · step 5
Check it's really Opus answering
One question, no tools, so the only thing being tested is the brain. It came back exactly as asked.
Terminal · first contact
hermes -p claude-opus -z "Reply with exactly: OPUS OK"claude CLI starting · your subscription loginOPUS OK
real session · 22 Sep 2026 · my Mac · replayed at reading pace
Reply: OPUS OKprovider: claude-subscription-directsdk-experimentalno API key anywhere
What you're watching: the real command and the real reply from this morning. If you see the two words, the whole chain works: Hermes, the plugin, the claude CLI, your login, Opus 5.
Two words back, and the whole chain is proven.
§11XI · step 6
It shows up in the Agent OS on its own
I didn't touch a line of the dashboard. The OS reads the profiles folder, so the new one appeared in the Hermes tab by itself.
curl -s localhost:3737/api/hermes/profiles | grep -o '"name":"claude-opus"[^}]*'
{"name":"claude-opus","description":"Claude Opus 5 on the Claude Code subscription via the official DirectSDK plugin","model":"opus","provider":"claude-subscription-directsdk-experimental"}
real run on my Mac · Agent OS at localhost:3737
What you're watching: the real answer from my dashboard's profiles API. Name, model, provider, all read straight from the folder I made in step 4.
THINKING IT?"Do I have to wire it into the dashboard too?"
No. The Agent OS lists whatever is in the profiles folder.
Make the folder, and the OS finds it. That's the rule for every model I add.
THINKING IT?"Doesn't running an Agent OS burn a fortune in tokens?"
No. That's the biggest myth about it. The everyday 90% runs on free local models and cheap open ones, and the frontier work drives the subscriptions you already pay for. This plugin is the cleanest example: Claude, on the plan you already have, with nothing extra.
Inside the Boardroom there are full token-efficiency tutorials too, so you learn to cut usage and never think about it again.
§13XII · the four brains
One word in the config picks the Claude
The plugin lists your account's own model picker. These are the routes it pins, and the short names you type.
Nous Research's own numbers · plugin README, measured 9 Sep 2026
opus = the biggest brain, use it for the hard buildssonnet = the daily driverfable draws usage credits unless you're on Max
THINKING IT?"Which one should I actually use?"
Opus for anything that has to be right the first time: a full app build, a tricky bug, a long document. Sonnet for the volume work.
You can make one profile per model. They're just folders.
§14XIII · what to do with it
Five jobs I hand Opus in Hermes
These are the jobs where the biggest Claude brain plus a real body pays for itself. Each one is a single message to the claude-opus profile.
hermes -p claude-opus -z "Build me a single-file kanban app, then run a syntax check on it before you reply"
hermes -p claude-opus -z "Read https://hermes-agent.nousresearch.com/docs/plugins/claude-subscription-directsdk and reply with only JSON: models, requirements, caveats"
hermes -p claude-opus -z "Fix the bug in ~/project/utils.py and prove it with a test"
THINKING IT?"Isn't this just Claude Code with extra steps?"
Claude Code is one tool. Hermes is the operating layer: memory across sessions, skills, other models, overnight jobs, and the Agent OS chat on top.
This plugin means you don't have to choose between the two anymore.
The brain you already pay for, wearing the Hermes body.
§15XIV · the honest bits
Four things to know before you copy me
Nous Research's own numbers · plugin README, measured 9 Sep 2026
THINKING IT?"So it eats my Claude limit faster than the app?"
About 1.7 times faster per dollar of work, the same as running claude -p yourself. Nous published the measurement rather than hiding it.
On the same coding tasks Hermes also sent about 0.6 times the tokens the native app did, so in practice it roughly evens out.
Get the AI agent system — Claude on your subscription, wired in beside every other model.
The Agent OS zip, the Hermes profile walkthroughs and the 30-day roadmap live inside the AI Profit Boardroom, with four coaching calls a week to set it up with you.