Quando `HERMES.md` entra na mensagem de commit, a solicitação é roteada para cobrança de uso extra
(github.com/anthropics)- Recentemente, se a string
HERMES.mdentrasse em uma mensagem de commit do git, a solicitação do Claude Code era enviada para a rota de cobrança de extra usage em vez da cota do plano Max - Esse gatilho não dependia da existência do arquivo no disco e ocorria a partir do próprio conteúdo da mensagem de commit;
add HERMES.mdfalhava, masadd hermes.mdera processado normalmente - Em testes de reprodução, foi confirmado
API Error: 400 "You're out of extra usage..."emclaude-opus-4-6[1m]eclaude-opus-4-7, enquantoHERMES,HERMES.txt,README.mdetc. não causavam o mesmo comportamento - No ambiente afetado, mesmo ainda havendo capacidade semanal no plano, foram consumidos US$ 200,98 em créditos de extra usage e, depois que o extra usage acabou, vários projetos ficaram inutilizáveis
- A causa foi identificada como um anti-abuse system excessivamente agressivo, já corrigido; depois disso, a issue foi fechada como completed, junto com avisos sobre reembolso e concessão de usage credits adicionais
Visão geral do problema
- Recentemente, se a string
HERMES.mdaparecesse no histórico recente de commits do git, a solicitação do Claude Code era roteada para a cobrança de extra usage em vez da cota do plano Max - Isso não tinha relação com a presença de um arquivo
HERMES.mdno disco; o gatilho era o conteúdo da mensagem de commit do git - Como o Claude Code inclui commits recentes no system prompt, a hipótese foi restringida a uma mudança no roteamento no lado do servidor quando essa string estava presente
- Mesmo com apenas cerca de 13% do uso semanal do plano Max 20x consumido, foram gastos US$ 200,98 em créditos de extra usage e, após o esgotamento desses créditos, vários projetos ficaram completamente indisponíveis
- Ao mesmo tempo, o dashboard do plano mostrava mais de 86% da capacidade semanal restante, criando um descompasso entre a rota real de cobrança e o estado exibido
Condições de reprodução e resultados
- O ambiente de reprodução era Claude Code v2.1.119, macOS Apple Silicon, plano Max 20x de US$ 200/mês, modelo
claude-opus-4-6[1m], e o problema também se reproduzia emclaude-opus-4-7 - No procedimento mínimo de reprodução, após
git commit -m "add HERMES.md", a execução declaude -p "say hello" --model "claude-opus-4-6[1m]"retornavaAPI Error: 400 "You're out of extra usage..." - No mesmo procedimento, ao trocar a mensagem de commit para
add hermes.md, o processamento seguia pela rota de cota do plano e retornava"Hello!" - O script de reprodução foi apresentado com o fluxo de criar os diretórios
/tmp/test-faile/tmp/test-pass, depoisgit init, adicionar arquivos, fazer commit, executarclaude -pe, por fim, limpar tudo comrm -rf - O resultado da identificação do gatilho mostrou falha com
"HERMES.md"e"test HERMES.md test", enquanto"hermes.md","HERMES","HERMES.txt","AGENTS.md"e"README.md"funcionavam normalmente - Mesmo com um arquivo
HERMES.mdpresente no disco, se a mensagem de commit estivesse limpa, tudo funcionava normalmente; no mesmo repositório, também funcionava normalmente em uma orphan branch sem histórico
Investigação da causa e comportamento esperado
- A investigação passou por clonagem do repositório afetado, teste em orphan branch e uma systematic binary search isolando uma a uma as strings de mensagens de commit, até concluir que
HERMES.mdera o gatilho exato - A cobrança de uma requisição de API não deveria depender do conteúdo da mensagem de commit do git dentro do system prompt; as solicitações de assinantes do plano Max deveriam ser roteadas primeiro para a cota incluída no plano
- A mensagem de erro
out of extra usagenão dava nenhuma pista de que a causa era um roteamento baseado em conteúdo, o que tornava o diagnóstico muito difícil - Usuários com
HERMES.mdem commits recentes estavam em uma situação em que o uso podia ser cobrado silenciosamente em créditos extras
Andamento do tratamento e estado final
- Um colaborador respondeu que o problema era causado por um anti-abuse system excessivamente agressivo e que a correção já havia sido concluída
- Depois disso, a issue foi fechada com status completed
- Um bot do GitHub Actions apresentou 3 issues possivelmente duplicadas
- [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
- O bot informou que a issue poderia ser fechada automaticamente como duplicate em 3 dias e orientou deixar um comentário ou marcar com 👎 caso não fosse duplicata
Reembolso e resposta do suporte
- O texto inclui uma resposta do suporte afirmando que não seria possível oferecer compensação ou reembolso mesmo em caso de billing routing incorreto causado por erro técnico
- Depois, segundo https://news.ycombinator.com/item?id=47952722, foi informado que os usuários afetados receberiam reembolso integral e também usage credits adicionais em valor equivalente ao da assinatura mensal
- Thariq, da equipe do Claude Code, deixou o link https://x.com/trq212/status/2048495545375990245
- Também foi dito que o envio de emails para todos os usuários afetados ainda estava em andamento
- A estrutura de suporte não estava preparada para encaminhar esse tipo de bug complexo para engenharia, embora houvesse intenção de melhorar isso com o tempo
- Assim, a orientação de não haver reembolso e o anúncio posterior de reembolso ficaram lado a lado, criando mensagens conflitantes no mesmo fluxo
Reações dos usuários e críticas ao design
- Enquanto ainda não estava claro se haveria reembolso, houve até cancelamento de assinatura, e a falta de resposta sobre reembolso junto com um clap gif na mensagem contribuíram para a decisão
- Também apareceu a postura de que julgamentos futuros dependeriam de saber se a resposta do suporte realmente levaria a reembolsos
- Por causa de imagens e linguagem de meme, algumas pessoas só perceberam depois que o comentário do autor original era na verdade uma citação de um bot de suporte
- Com base no relato de @bcherny, surgiu a interpretação de que um overactive anti-abuse system não bloqueava certas requisições, mas as redirecionava para cobrança de extra usage
- Seguiram críticas de que, se fosse abuso, deveria haver bloqueio, e não cobrança adicional; se existe um modo que contorna a cota, continua processando a requisição e apenas aplica upcharge, o próprio desenho disso é problemático
- Também houve reação contra a ideia de que a tentativa do usuário de controlar diretamente um cliente executado localmente fosse tratada como breach, além da crítica de que deveria ser possível delegar autoridade a um software agent que age em nome do usuário
- Houve ainda a observação de que vender um agent para uso pessoal, mas na prática parecer acolher apenas a combinação pessoa+agent, soa contraditório
Menção a modelos alternativos
- Open weight models chineses foram citados como alternativa que pode ser hospedada em hardware local e executada de forma autônoma, desde que haja hardware suficiente
- Esses modelos seriam 10 a 50 vezes mais baratos que os da Anthropic, com desempenho em programação cerca de 2,7% inferior
Ainda não há comentários.