如果你是 Claude Code 的付費用戶,而且你的 Git 提交歷史中恰好包含大寫的「HERMES.md」這個字串,那你可能已經在不知不覺中被多收了一大筆錢。近日有開發者在 Reddit 的 r/ClaudeAI 社群發布警告,揭露了一個令人匪夷所思的 bug:只要 Git commit message 中出現完全大寫的「HERMES.md」字串,Claude Code 就會將 API 請求錯誤路由至「額外用量」計費通道,即使你的訂閱方案額度還剩八成以上,系統依然會跳過正常額度直接扣款,甚至回傳「額外用量已耗盡」的錯誤訊息。
Claude Code 又出包!專案檔名裡只要有「這個字」就可能被亂收錢
一名使用 Claude Max 20x 方案(月費 200 美元,約新台幣 6,400 元)的開發者在 Reddit 論壇上回報,因為這個問題被意外收取了 200.98 美元(約新台幣 6,430 元)的額外費用,而他的方案額度實際上還剩 86% 以上。更荒謬的是,觸發條件極為精確:只有完全大寫且帶有 .md 副檔名的「HERMES.md」才會中招,小寫的「hermes.md」、首字母大寫的「Hermes.md」、沒有副檔名的「HERMES」或是不同副檔名的「HERMES.txt」通通不受影響。
為什麼 Git 提交訊息會影響計費?
要理解這個 bug,首先需要知道 Claude Code 的一個設計特性:它會自動將你所在 Git 儲存庫的近期提交紀錄納入系統提示(system prompt)中,作為上下文資訊提供給 AI 模型,幫助它更好地理解當前專案的開發脈絡。
這原本是一個提升開發體驗的功能,但問題出在 Anthropic 的伺服器端似乎存在一套內容過濾機制。當系統提示中出現特定字串時,該機制會介入處理。在這個案例中,完全大寫的「HERMES.md」恰好觸發了這套過濾器,導致請求被錯誤歸類並路由至額外計費通道。
根據開發者的測試,這個過濾器只會被 Git 提交訊息中的字串觸發。工作目錄中即使存在名為 HERMES.md 的檔案、檔案內容包含這個字串、環境變數中有這個值、甚至 CLAUDE.md 中引用了它,都不會造成問題。唯獨 git log 輸出中的這個字串會觸發過濾。
這意味著,任何曾經在提交訊息中提及「HERMES.md」的開發者,在使用 Claude Code 時都可能受到影響,而且完全無法從錯誤訊息中判斷真正的原因,因為系統回傳的是一個與內容過濾毫無關係的計費錯誤訊息。
為何針對「HERMES.md」?
雖然 Anthropic 尚未對此事做出官方回應,但社群普遍推測,這套過濾機制與第三方工具 Hermes Agent 有關。Hermes Agent 是由 Nous Research 開發的開源 AI 代理框架,部分用戶曾嘗試透過 Claude Code 的 OAuth 認證機制來繞過 API 計費,讓 Hermes Agent 免費使用 Claude 的模型能力。
「HERMES.md」是 Hermes Agent 專案中的核心配置文件名稱,Anthropic 可能是為了阻擋這類未授權使用行為(也就是之前的禁止所有第三方 AI Agent 調用 Claude OAuth 機制),在伺服器端部署了基於字串比對的內容過濾器。然而,這種粗糙的子字串匹配方式產生了嚴重的誤判問題:「Hermes」(赫密士)本身是希臘神話中的知名神祇,也是許多軟體專案、公司和服務的常見命名,將其作為過濾關鍵字導致這件「錯殺無辜」的意外。
開發者建議的修復方向
在 GitHub 提交 bug 報告的開發者提出了三個具體的改善建議:
第一,區分錯誤類型。內容過濾觸發的拒絕應該回傳獨立的錯誤碼(例如 content_filter_rejected),而非偽裝成計費配額錯誤,這樣用戶才能正確診斷問題。
第二,改善過濾邏輯。單純的子字串比對在自由格式文字中過於粗糙,應該採用具備上下文感知能力的過濾機制,減少誤判率。
第三,公開文件限制。Anthropic 應該明確記載系統上下文中的內容限制,讓用戶能夠主動避開已知的觸發條件。
暫時的自保方法
在 Anthropic 正式修復之前,如果你的 Git 提交歷史中包含「HERMES.md」字串,可以考慮以下應急措施:檢查近期的 git log 輸出中是否包含大寫的「HERMES.md」;如果有,可以透過 git rebase 修改提交訊息,將大寫改為小寫;或者在受影響的儲存庫之外使用 Claude Code。如果你的專案的檔案名稱有 Hermes 相關字眼的話可能也要注意帳單是否有意外增加的情況,以免日後求訴無門。



