Skip to content

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

@sasha-id

Description

@sasha-id

Summary

When 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)

Reproduction

Minimal 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-pass

The 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.

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 behavior

API 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 this

Systematic binary search: cloning affected repos, testing orphan branches, then isolating individual commit message strings until HERMES.md was identified as the exact trigger.

Activity

github-actions

github-actions commented on Apr 25, 2026

@github-actions

Found 3 possible duplicate issues:

  1. [BUG] Literal "HERMES.md" in git commit messages triggers 400 "out of extra usage" on Max OAuth (content filter false-positive misclassified as quota error) #53171
  2. [BUG] CLI completely blocked by "out of extra usage" error despite Max 20x plan at only 10% usage #45020
  3. Billing bug: Extra usage pool consumed while session limit still has remaining capacity #29704

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

sasha-id

sasha-id commented on Apr 25, 2026

@sasha-id
Author

Thank you for reaching out about a refund. I understand you've encountered a billing issue where requests were incorrectly routed to extra usage instead of your Max 20x plan quota due to the presence of "HERMES.md" in git commit messages.
Let me look up your account information to help process your refund request.

I sincerely apologize for the disruption you experienced with the billing routing issue. We take service reliability very seriously.
However, I need to let you know that we are unable to issue compensation for degraded service or technical errors that result in incorrect billing routing. We are consistently working on improvements to our infrastructure to better handle these types of issues and prevent similar problems from happening in the future.
Thank you for your patience and for taking the time to document this issue so thoroughly. Your detailed reproduction steps will be valuable for our engineering team.

Image
bcherny

bcherny commented on Apr 26, 2026

@bcherny
Collaborator

Thanks for the report! This was an overactive anti-abuse system. Fixed.

sasha-id

sasha-id commented on Apr 26, 2026

@sasha-id
Author

You are welcome! Can I get my refund now.

RockyMM

RockyMM commented on Apr 26, 2026

@RockyMM

Refund the guy, it’s really drop in the ocean, but would look good.

coopzr

coopzr commented on Apr 26, 2026

@coopzr

Refunding him would be the easiest PR win in the world. Just sayin

drafie

drafie commented on Apr 27, 2026

@drafie

He is owed a refund.

CollectionAgency

CollectionAgency commented on Apr 27, 2026

@CollectionAgency

@sasha-id This is ridiculous. You admit it's Anthropics' fault, yet you refuse to refund him?
Makes me rethink my choice of using Claude.

sircompo

sircompo commented on Apr 27, 2026

@sircompo

A skeptical observer might believe that the overactive anti-abuse bug was triggered by more than just the reported "HERMES.md" string, and has collectively cost Anthropics customers millions.
The refusal to refund might be based on them not wanting to set an expensive precedent.

Let's hope this theory is proven wrong and that they do right by their customer(s).

38 remaining items

ikari-pl

ikari-pl commented on Apr 30, 2026

@ikari-pl

that is a very "claude" excuse!

You are absolutely right!
(Flashbacks of "I deleted your files and didn't make a commit beforehand that you asked for")

SerJaimeLannister

SerJaimeLannister commented on Apr 30, 2026

@SerJaimeLannister

Came from hackernews, I just want to say one thing here but I thought that this was a bug within hours but nope its a 4 day bug which seems to still not have refunded that person. I find it absolutely wild

Even if Anthropic refunds the person, I feel like, this itself should be enough to be wary of Anthropic (plus their recent shenanigans), Other closed source providers aren't* that much better too for what its worth in such things.

I suggest people to look more into local models for their use cases if/when possible,even if just for the mere predictability of the things there.

The funniest (or saddest) thing is that the news cycle is moving so fast that we might forget it within a month. I still can't believe the incompetence in AI companies at times. One more example going into my ever expanding list of AI companies mess-ups

abbassix

abbassix commented on Apr 30, 2026

@abbassix

Refund him or offer me a job. :-)

sadrasabouri

sadrasabouri commented on Apr 30, 2026

@sadrasabouri

irony
Image

vecter

vecter commented on Apr 30, 2026

@vecter

https://x.com/trq212/status/2048495545375990245

He and other affected users are getting a refund plus $200 credit

superhac

superhac commented on Apr 30, 2026

@superhac

https://x.com/trq212/status/2048495545375990245

He and other affected users are getting a refund plus $200 credit

Nice.... Pretty sad still it took all this get his money back. Even ChatGPT came back with this solution in less then a minute. Not sure what took them so long for an AI company to calculate a solution.

alanmun

alanmun commented on Apr 30, 2026

@alanmun

btw codex + openrouter combo exists if you want to stop being an anthropic paypig

hbmartin

hbmartin commented on Apr 30, 2026

@hbmartin
Image
pshirshov

pshirshov commented on Apr 30, 2026

@pshirshov

Well, I presume these are ethical business practices in action?

rr-hari-prakash

rr-hari-prakash commented on Apr 30, 2026

@rr-hari-prakash

Did our guy end up getting a refund or not? Based on that I have few decisions to make..

spezifanta

spezifanta commented on Apr 30, 2026

@spezifanta

Yes, refund.

Hey everyone, Thariq from the Claude Code team.
We've been on this since the bug surfaced. Everyone affected is getting a full refund and an extra grant of usage credits equal to their monthly subscription as our apology. You can see my original post here: https://x.com/trq212/status/2048495545375990245. We’re still working on sending emails to everyone affected.

Our support flow wasn't set up to route a complex bug like this to engineering. We’re hoping to make this better but will take some time. Sorry to everyone caught up in it.

Source from a few minutes ago (2026-04-29T21:05:40):
https://news.ycombinator.com/item?id=47952722

letanloc1998

letanloc1998 commented on Apr 30, 2026

@letanloc1998

Why no refund for this error?

mlowerr

mlowerr commented on Apr 30, 2026

@mlowerr

Subscription cancelled based on lack of refund response and the 'clap gif' to go along w/ the message.

letanloc1998

letanloc1998 commented on Apr 30, 2026

@letanloc1998

"However, I need to let you know that we are unable to issue compensation for degraded service or technical errors that result in incorrect billing routing."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:costbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @ask5@TechRemarker@pshirshov@spezifanta@machineghost

        Issue actions