HERMES.md がコミットメッセージに入ると、リクエストが追加使用量課金にルーティングされる
(github.com/anthropics)- 最近、git のコミットメッセージに
HERMES.mdという文字列が入っていると、Claude Code のリクエストが Max プランのクォータではなく extra usage の課金経路に送られる - このトリガーはディスク上のファイルの存在とは無関係で、コミットメッセージの内容そのもので発生し、
add HERMES.mdは失敗するがadd hermes.mdは正常に処理される - 再現テストでは
claude-opus-4-6[1m]とclaude-opus-4-7でAPI Error: 400 "You're out of extra usage..."が確認され、HERMES、HERMES.txt、README.mdなどでは同じ現象は起きない - 影響を受けた環境では週間プラン容量が残っているにもかかわらず $200.98 の extra usage クレジットが使い切られ、extra usage が尽きた後は複数のプロジェクトが使用不能になった
- 原因は 過剰に動作した anti-abuse system と確認され、すでに修正済みで、その後 issue は completed として閉じられ、返金と追加の usage credits 付与も案内された
問題の概要
- 最近の git コミット履歴に
HERMES.mdという文字列が入っていると、Claude Code のリクエストが Max プランのクォータではなく extra usage の課金経路にルーティングされる - ディスク上に
HERMES.mdファイルがあるかどうかとは無関係で、git commit message の内容そのものがトリガーとして動作する - Claude Code が最近のコミットを system prompt に含める状態で、この文字列があると サーバー側のルーティングが変わるところまで絞り込まれた
- 含まれている Max 20x プランの週間使用量が 13% 程度しか使われていない状態でも extra usage クレジット $200.98 が使い切られ、extra usage が枯渇した後は複数のプロジェクトを完全に使えなくなった
- 同時点でプランのダッシュボードには週間容量が 86% 以上残っていると表示されており、実際の課金経路と表示状態が食い違っていた
再現条件と判定結果
- 再現環境は Claude Code v2.1.119、macOS Apple Silicon、Max 20x plan $200/month、モデル
claude-opus-4-6[1m]で、claude-opus-4-7でも再現する - 最小再現手順では
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..."が返る - 同じ手順でコミットメッセージを
add hermes.mdに変えると プランクォータ経路で処理され、"Hello!"が返る - 再現スクリプトは
/tmp/test-fail、/tmp/test-passディレクトリを作成し、その後git init、ファイル追加、コミット、claude -p実行、最後にrm -rfで片付ける流れとして示されている - トリガー判定結果では
"HERMES.md"と"test HERMES.md test"は失敗し、"hermes.md"、"HERMES"、"HERMES.txt"、"AGENTS.md"、"README.md"は正常に動作する - ディスク上に
HERMES.mdファイルがあってもコミットメッセージがクリーンなら正常に動作し、同じリポジトリでも orphan branch で履歴がなければ正常に動作する
原因追跡と期待される動作
- 原因追跡は、影響を受けたリポジトリの複製、orphan branch テスト、個々のコミットメッセージ文字列を 1 つずつ切り分ける systematic binary search の順で進められ、最終的に
HERMES.mdが正確なトリガーとして絞り込まれた - API リクエストの課金が system prompt 内の git commit message の内容に依存してはいけず、Max プラン加入者のリクエストはまず含まれるプランクォータにルーティングされるべきだ
- エラーメッセージ
out of extra usageには コンテンツベースのルーティングが原因だという手掛かりがなく、診断が非常に難しくなっていた - 最近の git コミットに
HERMES.mdが入っていたユーザーは、使用量が ひそかに extra credits に課金される状態にあった
対応経過と最終状態
- 協力者は、この問題が 過剰に動作した anti-abuse system によるもので、すでに修正済みだと回答した
- その後 issue は completed 状態で閉じられた
- GitHub Actions ボットは重複の可能性がある issue を 3 件提示した
- [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
- [BUG] CLI completely blocked by "out of extra usage" error despite Max 20x plan at only 10% usage#45020
- Billing bug: Extra usage pool consumed while session limit still has remaining capacity#29704
- ボットは 3 日以内に自動で duplicate として閉じられる可能性があると知らせ、重複でない場合はコメントか 👎 を残すよう案内した
返金とサポート対応
- 本文には、技術的な不具合による誤った billing routing についても 補償や返金は提供できないとするサポート回答文が含まれている
- その後 https://news.ycombinator.com/item?id=47952722 時点の情報として、影響を受けたユーザーには 全額返金 に加え、月額購読料と同規模の 追加 usage credits を付与予定だと記されている
- Claude Code チームの Thariq が https://x.com/trq212/status/2048495545375990245 のリンクを残した
- 影響を受けた全ユーザーへのメール送信作業を継続中だと明かしている
- サポート体制はこのような 複合バグ を engineering にルーティングする準備ができておらず、改善しようとしているがさらに時間が必要だとされた
- 返金不可の案内とその後の返金告知が併記されており、相反するメッセージが同じ流れの中に共存している
ユーザー反応と設計批判
- 返金可否が不明だった時点では サブスクリプション解約 にまで至っており、返金への応答不足とメッセージに付いていた clap gif が解約理由になった
- サポート回答が実際の返金につながるのかを基準に今後を判断する、という流れも見られた
- 画像やミーム表現のため、元投稿者のコメントが本人発言ではなく support bot の引用だと後から把握することになった
- @bcherny の報告を根拠に、overactive anti-abuse system が一部のリクエストをブロックせず extra usage billing に回しているのではないか、という解釈も続いた
- abuse ならブロックすべきで、追加課金として処理すべきではないという批判が続き、クォータを回避しつつリクエストは継続処理し、その代わりに上乗せ課金するモードがあるなら、その設計自体が問題だと受け止められた
- ローカルで動くクライアントをユーザーが自分で制御しようとする行為が breach のように扱われることへの反発や、ユーザーの代わりに行動する software agent に権限を委任できるべきだという批判も続いた
- 個人向け agent を売ると言いながら、実際の動作は person+agent の組み合わせを歓迎するというメッセージと 食い違って見えるという指摘も出た
代替モデルへの言及
- 中国系の open weight models はローカルハードウェアでホスティング可能で、ハードウェアさえあれば自前で実行できる代替として言及された
- これらのモデルは Anthropic と比べてコストが 10〜50 倍安く、コーディング性能は約 2.7% 低いという数値も示された
1件のコメント
Hacker Newsの反応
自分たちの技術的ミスで誤請求しておいて、返金もできないというのは本当に驚き
少なくともAnthropicは全額分のクレジットくらいすぐ出すべきだと思う
これが今後のカスタマーサポートの未来予告編みたいでもある
「その通りです、本当に申し訳ありませんが、そのまま受け流してください。ご希望ならAIチャットボットとあと数時間お話しいただけます。助けにはならないでしょうが、こちらのトークン費用は0.12ドルほど余計にかかるでしょう」と言われているような感じ
Anthropicで最初にこの件を人間の手で認識する経路はHNなのかもしれない
おそらく返金や補償を絶対に提案しないよう指示されたLLMが丸ごと書いた返答なのではないかと思う
裁判やチャージバックのような形で対抗されない限り、なぜ自分から方針を変えるのかという気もする
DiCaprio clapまで付いていて、冗談ではなかったと知って余計にあきれる
Claude CodeチームのThariqです
バグが明らかになってからずっと対応しており、影響を受けた全員に全額返金と、月額料金と同額の追加利用クレジットをお詫びとして付与しています
原文はこちらです: https://x.com/trq212/status/2048495545375990245
まだ影響を受けた全員にメールを送る作業も進めています
サポートフローがこうした複雑なバグをエンジニアリングに回すよう設計されておらず、この点は改善したいのですが、少し時間がかかります
被害を受けた方々に申し訳なく思います
自動チャージを切っていたのに、3月に45.08ドルの請求書を受け取り、サポートにたどり着こうとしても完全に塞がれていた
リンク先を見ると、自分だけの問題でもなかった
技術的ミスやサービス低下による誤った請求ルーティングには補償できないと言ったのか理解できない
いったい何が補償の支払いを妨げているのか気になる
Xを使っていない人の立場からすると、こうした告知をどのチャネルで追えばいいのかも案内してくれるとよいと思う
投稿者がGitHub Issueスレッドに貼り付けた、ほとんど幻覚のように見えるサポート返答は、文脈なしで見ると大きな誤解を招く
ボットがサポートが必要ならボットにもう一度言えと返すのは、本当のサポートではない
見た目だけサポートっぽいだけで、実際に助けを得る経路がない
技術的ミスで誤請求が発生しても補償できないと公然と言う会社は、ほとんど見た記憶がない
そんなポリシーなら本当に正気を疑うレベルだ
よりによって自社のビジネスプロセスで、自社製品の代表的な失敗モードをそのまま見せてしまった形で、印象がさらに悪くなっている
ユーザー名を見ればわかる
https://x.com/trq212/status/2048495545375990245
今見ると返金に加えて200ドルのクレジットも受け取るようだ
会社に自分のミスを正させるために、わざわざ問題を大きくしなければならないようではいけない
200ドルを持っていっておいて返せないと言ったのは一線を越えている
ただ、OPがGitHub Issueに載せたあの最初の返答が正確にどこから出てきたのかは、まだ少し曖昧だ
Issueをざっとしか見ていないので、その後で文脈が補われたのかはわからない
最近、自動チャージで100ドルの二重請求を受けた
Anthropicに連絡しようとしたが、案の定選択肢はチャットエージェントだけで、会話を終えると誰かが助けに連絡すると言われたものの、結局何も起きなかった
最終的にカード会社に異議申し立てをして、カード会社側がこちらを認めた
12月にはiOSアプリにバグがあり、App Store経由でサブスクリプションを購入してもバックエンドに登録されず、お金だけ引かれてプラン権限は付与されなかった
ステータス告知はこちら: https://status.claude.com/incidents/6rrnsb1y0kbn
無料プランから通常プランに上げようとして決済だけされ、そのまま無料のままだったので、一時的なバグかと思ってMaxプランまで試したが同じだった
キャンセルしてやり直そうとしたが、アカウントが永続的にAppleユーザーとして固定され、iOSアプリでしか料金プランを管理できなくなり、再び通常プランを買おうとしても同じ問題が繰り返された
サポートボットはそれが確かにバグで、返金と修正が必要だと認めたが、アカウントは結局解除されず返金もなかった
Appleに返金申請を出したところ比較的早く返金され、ボットも約束どおり人間にエスカレーションしなかった
バグは修正されたと言われたが、自分の個人メールのアカウントは今も恒久的なリムボ状態で、無料から別プランへ上げられない
最近また試してもお金だけ引かれて無料に縛られたままで、結局Anthropic/Claudeに金を払うために新しいGmailを別に作る羽目になった
郵便追跡にはAddress unknown, returning to senderと明確に出ていたのにそうだった
あの時は銀行口座から即チャージバックをかけるべきで、そうすると必ず人が見るものだ
教訓はしっかり得た
チャットボットで問い合わせてチケットも開き、毎日メールも送っているが何の返答もない
残念ながら自分にはチャージバックという選択肢もない
Anthropicで最近起きていることは、ほとんど連鎖的な災害レベルに見える
Opus 4.7も何がどうなっているのかわからず、結局4.6に戻ったが、その4.6もすでに性能低下したように感じていた
体感もそうだし、harness変更に関するGitHubスレッドもそういう印象を与える
こうした低下を受け入れてまでサブスク料金を払う理由がないので、解約するつもりだ
今はOpusと同じくらい良いモデルが少なくとも3つはあり、pi projectがharness面では最高だと思う
最近の問題をほとんど感じていないAnthropicユーザーの立場からすると、こうした不満で離れていく人たちが残った利用者により多くの計算資源を残してくれるという点では、むしろありがたくもある
それでも製品自体はうまく作っている
sasha-idがAnthropic社員なのか公式ボットなのか、それとも悪ふざけなのか混乱した
返答の構造もおかしくGIFまで付いていたのでなおさらで、Chernyの返答だけが本物らしく見えた
真面目な質問で、当然のことなら先に謝る
自分の解釈では、バグ報告者が受け取った元のメール返信を、メールから来たという表示なしにそのまま貼り付けたので余計にわかりにくくなったのだと思う
そしてその人が言ったのが「返金なし」なのか、「自分では返金処理ができない」なのかも曖昧だ
GitHub Issueが返金を求める適切な場所なのかもわからない
今見えているのは話の一部だけのようで、向こう側で実際の人間が読んで適切に処理していることを願うばかりだ
Anthropicから来たメールを文脈なくコピペしたようで、GIFはその報告者自身の反応に見える
ここのコメント欄が混乱している理由は、Anthropicのサポート返答をそのままコピペしたためだ
リンクはこちら: https://github.com/anthropics/claude-code/issues/53262#issue...
何が本物のIssueで何が幻覚なのか見分けるのがほぼ不可能で、Anthropicがそんなものをわざわざ読もうとしていること自体むしろ不思議なくらいだ
このケースでは、投稿者はサポートチームが言ったことを引用しているようではある
PRでgithub actionsユーザーが、このIssueをもっと早い時点で作られた https://github.com/anthropics/claude-code/issues/53171 の重複かもしれないとマークしていたが、そのIssueには事後編集の痕跡もあまり見えない
だとすると、sasha-idがそのバグレポートをコピーして発見者のようになったのかとも思えてくる
Anthropicはよく、まず強硬な立場を出しておいて後で撤回するパターンがあるように思える
内部の連携不足が原因かもしれないし、今回の人も結局は返金を受けるのだろうが、外から見える印象は本当に悪い
こういう対応は十分に容認しがたい
複数の組織で見たことのある、まず押し通して問題になったら引っ込めるask forgiveness not permission式の運営なのかもしれない
通れば成功、反発が来たら取り消せばいいというやり方だ
以前、あるリーダーが6か月間ログインしていないユーザーのアカウントを全部削除しようと言い出し、人々が怒ってTwitterやRedditに投稿すると警告しても、「持続可能ではないと説明して、またアカウントを作ればいい」と自信満々に押し進めたことがある
それで実装したら適用1秒で怒ったサポートチケットとSNS投稿が殺到し、そのリーダーはすぐに「自分が期待していた実装方法ではなかった」と逃げた
いったいどんな結果を期待していたのか、今でもわからない
もちろんAnthropicのさまざまなやり方に同調している人も一部いるだろうが、自分の推測では、会社が明確な線引きをしないのは状況に応じて好き勝手に動ける余地を残したいからではないか
1月に3回の重複請求を受けたが、Anthropicは事実関係を認めつつも返金を拒否した
最終的にはカード会社との争議で勝った
もしそうなら新アカウントを作ったのか、新アカウントも止められたのかも知りたい
Claudeを使わないと決めたのはかなり早かった
同じ電話番号で2つ目のアカウントを、それもビジネス用途ですら作れないようにした時点で、もう察した
後にこの制限は解除されたが、その件だけでもAnthropicが顧客をちゃんと理解していないことは明白だった
モデルは良くても、登録手続きは競合よりずっと複雑で煩雑で、全体的にかなりひどい