HERMES.md 커밋 메시지 버그: Claude Code 과금 라우팅 함정

도입: "$200가 사라진 잔고"
2026년 4월, Claude Code 사용자들에게 예상치 못한 청구서가 도착했다. 주간 플랜 사용량이 13%밖에 안 남았는데도, $200.98의 extra usage 크레딧이 사라진 것이다. 더奇怪的是, 플랜 대시보드에는 여전히 주간 용량의 86%가 남아 있다고 표시되어 있었다.
원인은 의외로 단순하면서도 황당한 것이었다. git 커밋 메시지에 HERMES.md라는 문자열이 들어가는 것만으로, API 요청이 Max 플랜 쿼터 경로가 아닌 extra usage 과금 경로로 라우팅된 것이다.
핵심 내용
1. 버그의 원인: 과도하게 동작한 Anti-Abuse 시스템
Anthropic의 Claude Code 팀은 이 문제를 조사 끝에 "과도하게 동작한 anti-abuse system" 때문이라고 밝혔다. 정확한 트리거 조건은 다음과 같다:
| 조건 | 결과 |
|---|---|
커밋 메시지에 HERMES.md (대소문자 정확) 포함 | ❌ Extra Usage 과금 경로로 라우팅 |
커밋 메시지에 hermes.md (소문자)만 포함 | ✅ 정상 (Max 플랜 쿼터) |
파일명에 HERMES.md 존재 (커밋 메시지는 깨끗) | ✅ 정상 |
HERMES, HERMES.txt, README.md | ✅ 정상 |
핵심은 디스크에 파일이 있는지가 아니라, 커밋 메시지 내용 자체가 트리거라는 점이다. Claude Code가 최근 커밋을 system prompt에 포함하는 특성 때문에, 해당 문자열이 서버 측 라우팅 판단에 영향을 미친 것으로 파악됐다.
2. 재현 방법
최소 재현 절차는 놀라울 만큼 간단하다:
# 1. 새 디렉터리에서 git 초기화mkdir /tmp/test-hermes && cd /tmp/test-hermesgit initecho "test" > file.txtgit add file.txt# 2. HERMES.md가 포함된 커밋 메시지 작성git commit -m "add HERMES.md"# 3. Claude Code 실행claude -p "say hello" --model "claude-opus-4-6[1m]"
정상 상황이라면 "Hello!"가 반환되어야 하지만, 이 환경에서는 다음과 같은 에러가 발생한다:
API Error: 400 "You're out of extra usage..."
같은 저장소라도 커밋 메시지만 add hermes.md로 변경하면 플랜 쿼터 경로로 정상 처리된다.
3. 사용자들에게 미친 영향
이 버그로 인한 영향은 생각보다 훨씬 컸다:
• Max 20x 플랜 ($200/월) 구독자임에도 주간 용량이 남아 있는 상황에서 $200.98의 extra usage 크레딧이 소진
• Extra usage가 바닥나자, 해당 사용자의 여러 프로젝트가 완전히 사용 불가 상태가 됨
• 플랜 대시보드의 표시와 실제 과금 경로가 심각하게 불일치
4. Anthropic의 초기 대응과 비판
흥미로운 것은 초기 지원 대응의 흐름이다:
1. 첫 지원 답변: "기술 오류로 인한 잘못된 billing routing에도 보상이나 환불을 제공할 수 없습니다"
2. HN 공론화 이후: 전원 전액 환불 + 월 구독료와 같은 규모의 추가 usage credits 지급 결정
사용자들 사이에서는 다음과 같은 비판이 나왔다:
> "abuse라면 차단해야지, 추가 과금으로 처리하면 안 된다"
> "LLM 환각 수준의 지원 답변을 남겼다"
> "이게 바이럴되면 고객지원 받고, 아니면 그냥 꺼지는 세상"
실용 팁: 이 버그에 휘말리지 않는 방법
지금 당장 확인할 것
현재 사용 중인 저장소의 최근 커밋 히스토리에 HERMES.md가 있는지 확인해 보자:

# 모든 커밋 메시지에서 HERMES.md 검색git log --all --oneline | grep -i "HERMES.md"# 또는 전체 커밋 메시지 출력git log --all --format="%s" | grep -i "HERMES.md"
만약 결과가 나온다면, 해당 저장소에서 Claude Code를 사용하는 것이 위험할 수 있다.
해결 방법
| 방법 | 설명 |
|---|---|
| orphan branch에서 작업 | 커밋 히스토리가 없는 branch에서는 정상 동작 확인 |
| 커밋 메시지 수정 | git commit --amend -m "새 메시지"로 히스토리 변경 |
| 저장소 클론 후 히스토리 정리 | git filter-branch 또는 bfg로 문자열 일괄 변경 |
###緊急时被 방지하려면
이 사건의 여파로 여러 가지 교훈을 얻을 수 있다:
1. 구독료≠实际 사용량 불일치警觉: 정기적으로 사용량 대시보드를 확인하고, 예상치 못한 패턴이 있으면 즉시 확인
2. 중요한 프로젝트는andbox 환경에서 테스트: 새 도구나 에이전트를 적용하기 전에는 테스트 저장소에서 먼저 검증
3. 크레딧 알림 설정: Extra usage 크레딧이 특정 임계치에 도달하면 알림을 받는 설정 활용
전망: AI 에이전트 시대의 과금 시스템 문제
이 사건은 AI 에이전트 도구가 일상화되는 과정에서 드러난 과금 시스템의 근본적 문제점을 보여준다.
기존 사용자 에이전트의 과금 방식
기존에는 사용자가 직접 프롬프트를 입력하고 응답을 받는 구조였기 때문에, 사용량과 청구의 연관성이 명확했다. 그러나 Claude Code와 같은 AI 코드 에이전트가 커밋, PR, 브랜치 생성 등을 직접 수행하기 시작하면:
• 에이전트의 행위가 사용자의 의도와 다르게 과금 경로에 영향을 미칠 수 있다
• 시스템 레벨의 decision이 사용자 고개의 비용으로 귀결된다
• "anti-abuse system"의 판단이 의도치 않게 정당한 사용자에게 과금으로 작용할 수 있다
향후 기대되는 변화
1. 과금 경로 투명성: 플랜 쿼터 vs extra usage 경로의 구분 기준이 명확히 공개되어야 한다
2. 실시간 사용량 추적: Extra usage로 라우팅되는 순간 사용자에게 즉시 알림
3. 支持 체계 강화: 복잡한 기술 버그를 engineering으로 라우팅하는 전문 지원 채널 필요
요약
| 항목 | 내용 |
|---|---|
| 버그 원인 | 커밋 메시지 내 HERMES.md 문자열 → Anti-abuse system이 extra usage로 라우팅 |
| 영향 범위 | Max 플랜 구독자 (주간 용량 13% 남은 상태에서 $200.98 소진) |
| 현재 상태 | Anthropic에서 수정 완료, 환불 및 추가 크레딧 지급 중 |
| 예방법 | 저장소 커밋 히스토리 검사,andbox 환경에서 테스트 |
| 핵심 교훈 | AI 에이전트 시대, 사용량과 과금 경로의 불일치에 대한 경계 필요 |
이 사건은 "좋은 AI 회사"의 지원 체계가 복합적인 기술 버그 앞에서 얼마나 무력한지를 보여주는 사례다. 동시에, 바이럴 없이这些问题가 해결되지 않는 구조에 대한 비판도 함께 남겼다.
AI 에이전트를 업무에 활용하는 개발자라면, 오늘 반드시 사용 중인 저장소의 커밋 히스토리를 한 번 확인해 보자. 예상치 못한 청구서보다,事前的 파악이 훨씬 낫다.
태그: Claude Code, HERMES.md, Anthropic, 과금 버그, AI 에이전트, Git, billing, Max 플랜
📚 출처
• GitHub Issue #53262 - HERMES.md in git commit messages causes requests to route to extra usage
'AI 뉴스' 카테고리의 다른 글
| VibeVoice - 오픈소스 프런티어 음성 AI 완벽 가이드 (0) | 2026.04.30 |
|---|---|
| GoModel - Go로 작성된 고성능 AI 게이트웨이 완벽 가이드 (0) | 2026.04.30 |
| DeepSeek-V4 논문 읽기 요약: 100만 토큰 文脈을 열린 가치가 열다 (0) | 2026.04.30 |
| MiMo-V2.5 — Xiaomi의 오픈소스 옴니모델 AI 모델 완벽 가이드 (0) | 2026.04.30 |
| 크롬 프롬프트 API 완벽 가이드 — 브라우저에서 Gemini Nano에 자연어 요청 보내기 (0) | 2026.04.30 |