概要
- Claude Code のAPI利用時、 gitコミットメッセージ に特定の文字列が含まれると料金が加算される問題
- HERMES.md という大文字・小文字を区別した文字列がトリガー
- プランのクォータが使われず、 追加利用料金 が発生
- エラーメッセージに原因が示されず、 トラブルシュート困難
- 検証手順と影響範囲も明確に説明
Claude CodeのAPI利用における「HERMES.md」トリガー問題
-
環境
- Claude Code v2.1.119 (Apple Silicon搭載macOS)
- Max 20xプラン ($200/月)
- モデル: claude-opus-4-6[1m]およびclaude-opus-4-7
-
事象概要
- gitレポジトリ内の直近コミットメッセージに 「HERMES.md」 (大文字・小文字区別)が含まれる場合、APIリクエストが 追加利用料金枠 で課金される
- プランの 通常クォータ がほとんど消費されず、追加利用分が消費される
- 例: 週次使用量13%の状態で $200 超の追加利用料が発生
-
再現手順
- コミットメッセージに 「add HERMES.md」 を含めると 「out of extra usage」 エラー発生
- 小文字「hermes.md」や他のファイル名では正常に プラン枠 で利用可能
- ファイル名 としてHERMES.mdが存在しても、コミットメッセージに含まれなければ問題発生しない
-
トリガー条件まとめ
- コミットメッセージに 「HERMES.md」 (大文字・小文字区別)が含まれる場合のみ追加課金
- 他の類似パターン(小文字、拡張子違い、他のファイル名)は影響なし
- コミット履歴がない孤立ブランチでは発生しない
-
影響範囲
- $200.98 の追加利用料が、プラン枠未使用のまま消費
- 複数プロジェクトで追加利用枠が枯渇し、 利用不能 となる
- エラーメッセージに ルーティング原因 の説明なし
- 任意のユーザーが 「HERMES.md」 をコミット履歴に含めるだけで追加課金
本来期待される挙動
- APIリクエスト課金 は、 コミットメッセージの内容 に依存すべきでない
- Maxプラン契約者 のリクエストは、まず プラン枠 から消費されるべき
発見手法
- システマティック・バイナリサーチ による特定
- 影響を受けるリポジトリの複製
- 孤立ブランチでの再現性確認
- コミットメッセージ単語ごとの切り分けで HERMES.md がトリガーであることを特定
対策・提案
- Claude Code のAPI課金ロジックの見直し
- エラーメッセージ にルーティング理由を明記し、トラブルシュート容易化
- ドキュメント で既知のトリガーワードを周知し、ユーザーの混乱を防止