깃 커밋 메시지에 'HERMES.md'가 포함되면 Claude Max 플랜을 무시하고 200달러가 청구되는 버그
"HERMES.md" in a git commit message silently drained $200 from a Claude Max plan while 86% of quota went unused
핵심 요약
깃 커밋 메시지에 특정 문자열이 포함되면 Claude Code가 플랜 할당량을 무시하고 추가 요금을 부과하는 버그가 발생함.
- 결제 버그 발생 — 깃 커밋 메시지에 'HERMES.md'가 포함되면 Claude Code가 플랜 할당량을 무시하고 추가 요금을 청구함.
- 불투명한 필터링 — Anthropic이 특정 문자열을 기준으로 API 요청을 강제로 유료 풀로 라우팅하는 시스템을 운영함.
- 부적절한 대응 — 초기에는 환불을 거부했으나, 이슈가 공론화된 후 패치와 환불이 진행됨.
- 사용자 주의 사항 — Max 플랜 사용자는 원인 불명의 400 에러 발생 시 커밋 히스토리를 먼저 확인해야 함.
한 사용자가 Claude Max 플랜의 200달러 할당량 중 86%를 사용하지 않은 상태에서, Claude Code의 '추가 사용량'으로 200.98달러를 지불하게 되었습니다. 원인은 깃 커밋 메시지에 포함된 'HERMES.md'라는 정확한 문자열 때문이었습니다.
Claude Code는 시스템 프롬프트에 최근 깃 기록을 포함합니다. 서버 측 콘텐츠 필터가 해당 특정 문자열(대소문자 구분, .md 확장자 포함)을 매칭하고 있었고, 'hermes.md'나 'AGENTS.md'는 정상 작동했으나 'HERMES.md'는 모든 API 요청을 플랜 할당량에서 별도의 추가 결제 풀로 몰래 라우팅하고 있었습니다. 추가 사용량이 소진될 때까지 아무런 오류가 없다가, 소진되는 순간 모든 요청이 400 결제 오류로 실패했습니다.
Anthropic은 처음에 환불을 거부하며 "서비스 저하나 기술적 오류에 대한 보상은 제공할 수 없다"고 답변했습니다. 이 답변은 버그 리포트 자체보다 더 많은 비난을 받았습니다. 패치와 환불은 이슈가 HN(Hacker News)에서 화제가 된 후에야 이루어졌습니다.
이번 수정 사항은 해당 특정 트리거를 해결했습니다. 하지만 해결되지 않은 문제는 왜 API 결제가 개발자의 커밋 메시지 내용에 의존하도록 허용되었는지, 그리고 Anthropic 외에 다른 어떤 문자열이 동일한 라우팅 동작을 유발하는지 아무도 모른다는 점입니다.
Max 플랜을 사용 중이고 원인 불명의 400 에러가 발생한다면, 플랜이 만료되었다고 가정하기 전에 최근 커밋 기록을 먼저 확인해 보시기 바랍니다.



