``` HERMES.md: Anthropic 错误导致额外 200 美元费用,拒绝退款 ```
HERMES.md: Anthropic bug causes $200 extra charge, refuses refund

原始链接: https://github.com/anthropics/claude-code/issues/53262

Claude Code v2.1.119 存在一个关键的计费错误,导致 API 请求错误地路由到“额外使用”计费,从而消耗积分——只要 Git 仓库的最近提交历史*包含区分大小写的字符串“HERMES.md”*。 即使实际上不存在名为 `HERMES.md` 的文件,也会发生这种情况。 问题在于 Claude Code 将最近的提交消息包含在其系统提示中,从而触发服务器端路由到额外使用,而不是用户的 Max 计划配额。 一位用户尽管剩余充足的计划容量,却意外产生了 200 美元以上的费用。 具有误导性的“额外使用额度不足”错误消息无法提示根本原因。 只需提交包含“HERMES.md”的消息,即可可靠地重现此错误。 小写变体(“hermes.md”)或不带扩展名的字符串(“HERMES”)*不会*触发该问题。 该问题是通过系统测试和提交消息的二分查找确定的。 预期行为是计费应基于计划订阅,而不是提交历史内容。

## Anthropic 计费漏洞及拒绝退款引发愤怒 Anthropic 的计费系统出现漏洞导致一位用户被多收了 200 美元,但该公司最初以“技术错误”不予赔偿的政策为由拒绝退款。这在 Hacker News 上引发了强烈反弹,许多用户对该政策表示难以置信,并怀疑是人工智能生成的回复。 评论强调了对 Anthropic 客户服务的担忧、该政策可能存在的法律问题,以及该公司可能故意测试界限的可能性。用户建议向信用卡公司提出争议或寻求小额索赔法庭解决。 一些评论员指出 Anthropic 存在一连串问题行为,甚至有人认为这是一种在潜在 IPO 之前最大化利润的策略。一位 Anthropic 员工证实,最初的回复*确实*是由 Claude 生成的,这加剧了批评。这起事件助长了支持本地、开源 LLM 作为替代方案的呼声。
相关文章

原文

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.

联系我们 contact @ memedata.com