The Flat-Fee Multi-Agent Stack — and the 3 Billing Traps That Quietly Meter You
The two-subscription agent stack (orchestrator + Claude Code) is real and works — but three silent traps reclassify that flat-fee work to metered API rates. What they are, the verified 2026 timeline, and the durable fix.
TL;DR
A pattern has settled across the agent-builder community: run an orchestrator (Hermes or Codex) on one subscription, delegate the heavy coding to Claude Code on another, glue it together with Telegram and a small always-on box, and pay two flat monthly fees instead of metered API rates. It works — until it quietly doesn't. Three things silently reclassify that "flat-fee" work to per-token API billing: (1) the June→July 2026 unbundling of programmatic usage into a separate metered credit pool, (2) a headless -p routing bug that billed some users at API rates even with no API key set, and (3) third-party-harness string detection — a HERMES.md in your git history was enough to get one user reclassified and hit with ~$200 in API charges. The through-line: flat-fee is a property of your auth path and your payload, not your plan. The durable fix is to stop shelling out to claude -p and run Claude Code in an interactive tmux session the orchestrator monitors.
The stack everyone converged on
If you've read the r/hermesagent threads, you've seen the same shape over and over:
- Orchestrator: Hermes (or Codex/GPT-5.x) on a ChatGPT subscription via OAuth — holds memory, tools, cron, messaging.
- Coding specialist: Claude Code, authenticated against a Claude Max subscription.
- Interface: Telegram, so you can drive it from your phone.
- Execution: a NUC / mini-PC / VPS for files, shell, cron, Home Assistant.
The appeal is entirely economic. Both sides authenticate through OAuth against a subscription, so nothing meters per token. The orchestrator shells out to the claude CLI as a subprocess — from Anthropic's side it looks identical to you typing the command yourself. Two flat fees, no API meter. The worst case used to be a rate-limit, not a bill.
That's the part people get right. Here's the part that bites.
Trap 1 — Programmatic usage got unbundled (and it's live now)
On May 14, 2026, Anthropic announced that starting June 15, Agent SDK and claude -p usage would stop drawing from the subscription pool and instead consume a separate monthly credit billed at API list rates ($20 Pro / $100 Max 5× / $200 Max 20×). Then the timeline got confusing: the change was paused on June 15, and then quietly went live around July 10, 2026.
So as of now, the important line is: interactive Claude Code in the terminal still runs on your subscription. Anything programmatic — claude -p, the Agent SDK, GitHub Actions, third-party harnesses on subscription auth — draws from the metered credit pool. The exact thing that makes the "flat-fee orchestrator shells out to claude -p" pattern convenient is the thing that now meters.
Trap 2 — The headless -p silent-routing bug
Independent of policy, there was a bug: claude -p headless mode silently routed to API billing for some users even with no ANTHROPIC_API_KEY set. If your orchestrator fires dozens of claude -p calls a day, a silent misroute doesn't rate-limit you — it bills you, and you find out on the invoice. The tell is that your subscription usage looks normal while charges accrue on a separate track.
Trap 3 — Harness string detection (the expensive one)
This is the trap most people miss. Anthropic runs logic to detect third-party harnesses and route them to API billing. The problem: it can fire on a string, not on an actual harness running. Claude Code pulls your git status and recent commit messages into its system prompt for context — so a file literally named HERMES.md, or an OpenClaw reference sitting in some JSON, was enough to get flagged. One documented case: ~$200 in surprise API charges because "HERMES.md" showed up in a commit. Anthropic acknowledged it as a bug and refunded, but only after it went public.
The uncomfortable implication for this community specifically: naming your orchestrator files after a known harness can become a billing input. Your git history is now a billing surface.
The fix: interactive over headless
The pattern the community landed on after the announcement is simple and durable: don't shell out to claude -p. Instead, have the orchestrator launch Claude Code in an interactive tmux session and monitor it. Interactive terminal usage stays on the subscription; you also get to peek at live progress. It's slightly more setup than a one-shot subprocess call, but it's the difference between flat-fee and metered.
| Trap | What it does | Guardrail |
|---|---|---|
| Programmatic unbundling (live ~Jul 2026) | claude -p / Agent SDK meter against a separate credit pool |
Use interactive tmux sessions, not -p; watch the credit balance |
Headless -p routing bug |
Silently bills API even with no key set | claude /status; check the console for unexpected API usage |
| Harness string detection | HERMES.md/OpenClaw in git → reclassified to API |
Grep history for harness strings; use neutral filenames (orchestrator.md) |
The one-line takeaway
"Flat-fee" isn't a plan you buy — it's a path you protect. Subscription vs. metered is decided by how the call is made (interactive vs. headless/SDK) and what's in the payload (harness signatures in your git state), not by which tier you pay for. Audit both, and the two-sub pattern still holds.
Found this useful? Share this with someone running a Claude Max sub inside an agent stack — the git-history billing trap is the one that gets people. And if you want the deeper dive on the
HERMES.mddetection bug, I broke it down here.
Sources
- Anthropic support: Use the Claude Agent SDK with your Claude plan
- Anthropic Ends Subscription Subsidy for Agents June 15 (TechTimes)
- Claude Agent SDK Credit Guide (koromo)
- Claude Code Billing in 2026 (Tygart Media)
- Community pattern + billing anecdotes: r/hermesagent multi-agent setup threads.
Mitchell Miller