Skip to content
HN On Hacker News ↗

HERMES.md in git commit messages causes requests to route to extra usage billing instead of plan quota

▲ 1251 points 532 comments by homebrewer 3w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully AI-generated

64 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 2
SEGMENTS · AI 2 of 2
WORD COUNT 394
PEAK AI % 100% · §1
Analyzed
Apr 29
backend: pangram/v3.3
Segments scanned
2 windows
avg 197 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 394 words · 2 segments analyzed

Human AI-generated
§1 AI · 100%

SummaryWhen a git repository's recent commit history contains the case-sensitive string HERMES.md, Claude Code routes API requests to "extra usage" billing instead of the included Max plan quota. This silently burned through $200 in extra usage credits while my Max 20x plan capacity remained largely untouched (13% weekly usage).Environment Claude Code v2.1.119 macOS (Apple Silicon) Max 20x plan ($200/month) Model: claude-opus-4-6[1m] (also reproduces with claude-opus-4-7) ReproductionMinimal reproduction — no project files needed:# This FAILS with "out of extra usage" (routes to extra usage billing) mkdir /tmp/test-fail && cd /tmp/test-fail git init && echo test > test.txt && git add . && git commit -m "add HERMES.md" claude -p "say hello" --model "claude-opus-4-6[1m]" # => API Error: 400 "You're out of extra usage..."

# This WORKS (routes to plan quota) mkdir /tmp/test-pass && cd /tmp/test-pass git init && echo test > test.txt && git add . && git commit -m "add hermes.md" claude -p "say hello" --model "claude-opus-4-6[1m]" # => "Hello!"

# Cleanup rm -rf /tmp/test-fail /tmp/test-passThe trigger is the string HERMES.md in git commit messages — not the presence of a file with that name on disk. Claude Code includes recent commits in its system prompt, and something server-side routes the request differently when this string is present.

§2 AI · 100%

What triggers it vs. what doesn't

Commit message Result

"HERMES.md" Fails — routes to extra usage

"test HERMES.md test" Fails

"hermes.md" (lowercase) Works

"HERMES" (no extension) Works

"HERMES.txt" Works

"AGENTS.md" Works

"README.md" Works

File named HERMES.md on disk, clean commit msg Works

Same repo, orphan branch (no history) Works

Impact $200.98 in extra usage credits consumed for requests that should have been covered by the included Max 20x plan quota Multiple projects became completely unusable once extra usage was depleted, while the plan dashboard showed 86%+ remaining weekly capacity The error message ("out of extra usage") gives no indication that content-based routing is the cause, making this extremely difficult to diagnose Any user with HERMES.md in recent git commits would silently have their usage billed to extra credits Expected behaviorAPI request billing should not depend on the content of git commit messages in the system prompt. All requests from a Max plan subscriber should route to the included plan quota first.How I found thisSystematic binary search: cloning affected repos, testing orphan branches, then isolating individual commit message strings until HERMES.md was identified as the exact trigger.