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
1 comentários
Opiniões do Hacker News
É realmente chocante cobrarem errado por um erro técnico deles e dizerem que nem conseguem reembolsar
No mínimo, a Anthropic deveria dar crédito integral imediatamente
Parece até uma prévia do futuro do atendimento ao cliente
Algo como: "Sim, sentimos muito, mas por favor deixe pra lá. Se quiser, você ainda pode passar mais algumas horas conversando com um chatbot de IA. Não vai ajudar, mas vai custar mais uns US$ 0,12 em tokens pra gente"
Também parece plausível que o primeiro caminho pelo qual a Anthropic vai perceber isso manualmente seja o HN
Talvez a resposta tenha sido escrita inteiramente por um LLM instruído a nunca oferecer reembolso ou compensação
Se ninguém reagir com processo, chargeback e afins, por que eles mudariam de direção por conta própria?
Tinha até um DiCaprio clap, então é ainda mais absurdo que não fosse piada
Sou Thariq, da equipe do Claude Code
Estamos lidando com isso desde que o bug veio à tona, e estamos oferecendo reembolso integral a todos os afetados, além de créditos extras de uso no valor da assinatura mensal como forma de pedido de desculpas
O texto original está aqui: https://x.com/trq212/status/2048495545375990245
Ainda estamos no processo de enviar e-mails para todas as pessoas afetadas
O fluxo de suporte não foi projetado para escalar bugs complexos como esse para a engenharia, e queremos melhorar isso, mas vai levar algum tempo
Sinto muito por quem foi prejudicado
O recarregamento automático estava desativado, mas mesmo assim recebi uma cobrança de US$ 45,08 em março, e tentei chegar ao suporte sem sucesso total
Pelo post linkado, não fui só eu que passei por isso
disseram que não podiam oferecer compensação por cobranças encaminhadas incorretamente por causa de erro técnico ou degradação de serviço?
Fico curioso para saber o que exatamente impedia o pagamento de compensação
Para quem não usa X, também seria bom saber por qual canal acompanhar esse tipo de anúncio
A resposta do suporte que o autor colou na thread da issue do GitHub parece quase uma alucinação, e fora de contexto gera bastante confusão
Um bot dizer para você falar com o bot de novo se precisar de suporte não é suporte de verdade
Só parece suporte por fora, mas na prática não existe caminho para obter ajuda
Quase não lembro de já ter visto uma empresa dizer abertamente que não pode compensar cobranças erradas causadas por erro técnico
Se essa é mesmo a política, é um nível surreal de insanidade
Por azar, eles acabaram exibindo justamente o modo de falha mais emblemático do próprio produto dentro do processo de negócios deles, o que piora ainda mais a imagem
Dá para perceber pelo nome de usuário
https://x.com/trq212/status/2048495545375990245
Pelo que estou vendo agora, além do reembolso também estão dando US$ 200 em créditos
Não deveria ser necessário transformar o caso em algo grande só para fazer a empresa corrigir o próprio erro
Pegar US$ 200 e depois dizer que não pode devolver passou dos limites
Ainda assim, continua meio nebuloso de onde exatamente saiu aquela primeira resposta que o OP publicou na issue do GitHub
Talvez eu esteja dizendo isso porque só passei o olho na issue e não sei se depois acrescentaram mais contexto
Recentemente fui vítima de uma cobrança duplicada de US$ 100 no recarregamento automático
Tentei entrar em contato com a Anthropic, mas como esperado a única opção era o agente de chat, e ao encerrar a conversa disseram que alguém entraria em contato para ajudar, mas no fim nada aconteceu
Acabei abrindo contestação com a operadora do cartão, e decidiram a meu favor
Em dezembro havia um bug no app de iOS em que, mesmo comprando a assinatura pela App Store, ela não era registrada no backend, então o dinheiro saía mas os privilégios do plano não eram ativados
O aviso de status era este: https://status.claude.com/incidents/6rrnsb1y0kbn
Tentei subir do plano gratuito para o plano normal, paguei e continuei no gratuito; achei que fosse um bug temporário e até tentei o plano Max, com o mesmo resultado
Tentei cancelar e começar de novo, mas minha conta ficou permanentemente presa como usuário Apple, então eu só podia gerenciar o plano pelo app de iOS, e sempre que tentava assinar o plano normal o mesmo problema se repetia
O bot de suporte concordou que era um bug e que precisava de reembolso e correção, mas a conta nunca foi liberada nem houve reembolso
Pedi reembolso à Apple e ele veio relativamente rápido, e o bot também não fez a escalada para um humano como havia prometido
Disseram que o bug foi corrigido, mas minha conta de e-mail pessoal continua em limbo permanente, sem conseguir sair do gratuito para outro plano
Quando tentei de novo recentemente, o dinheiro saiu e eu continuei preso no gratuito, então acabei tendo que criar um Gmail separado só para conseguir pagar Anthropic/Claude
Mesmo com o rastreamento postal mostrando claramente Address unknown, returning to sender
Na época eu deveria ter feito chargeback direto pela conta bancária, porque aí sempre aparece um humano para olhar
A lição ficou bem clara
Já falei com o chatbot, abri ticket e estou mandando e-mail todo dia, mas sem qualquer resposta
Infelizmente, eu nem tenho a opção de chargeback
O que vem acontecendo na Anthropic ultimamente parece quase uma sequência de desastres em cascata
Também não entendi o que aconteceu com o Opus 4.7, e no fim voltaram para o 4.6, mas o 4.6 já parecia ter piorado
Minha percepção pessoal é essa, e a thread no GitHub sobre a mudança no harness também passa essa impressão
Não vejo motivo para continuar pagando assinatura aceitando essa queda, então estou pensando em cancelar
Hoje já existem pelo menos 3 modelos tão bons quanto o Opus, e o pi project me parece o melhor no aspecto de harness
Como usuário da Anthropic que quase não sentiu os problemas recentes, confesso até certa gratidão por gente indo embora por causa dessas reclamações, já que isso deixa mais recursos computacionais para quem fica
Ainda assim, eles fazem um produto bom
Fiquei em dúvida se sasha-id era funcionário da Anthropic, bot oficial ou só uma brincadeira
A estrutura da resposta era estranha e ainda tinha GIF, então isso piorou a impressão; só a resposta do Cherny parecia real
Era uma pergunta séria, e peço desculpas de antemão se a resposta for óbvia
Minha interpretação é que isso ficou mais confuso porque quem reportou o bug colou a resposta original por e-mail sem indicar que vinha de e-mail
E também não fica claro se o que a pessoa quis dizer foi "sem reembolso" ou "eu não posso processar o reembolso"
Também não sei se uma GitHub Issue é o lugar apropriado para pedir reembolso
Parece que o que estamos vendo é só parte da história, e só espero que do outro lado haja um ser humano lendo e tratando isso de forma adequada
Parece que ela colou e sem contexto um e-mail vindo da Anthropic, e o GIF parece ser reação da própria pessoa
O motivo de os comentários aqui estarem confusos é que ele simplesmente colou e colou a resposta do suporte da Anthropic
O link é este: https://github.com/anthropics/claude-code/issues/53262#issue...
É quase impossível distinguir o que é issue real e o que é alucinação, e até surpreende que a Anthropic tente ler aquilo
Neste caso, parece que o autor estava citando o que o suporte havia dito
No PR, o usuário do github actions marcou esta issue como possível duplicata de https://github.com/anthropics/claude-code/issues/53171, que foi criada antes, e essa issue não parece ter muitos sinais de edição posterior
Aí fiquei pensando se o sasha-id copiou aquele bug report e acabou parecendo o descobridor
A Anthropic parece ter o hábito de primeiro adotar uma postura dura e depois voltar atrás
Pode ser falha de comunicação interna, e essa pessoa provavelmente acabará recebendo o reembolso, mas a impressão externa é muito ruim
Esse tipo de resposta é perfeitamente inaceitável
Também pode ser aquele estilo de operação de várias organizações em que se força a barra primeiro e se recua se houver reação
Se der certo, ótimo; se houver reação negativa, cancelam depois
Já vi um líder no passado propor apagar todas as contas de usuários que não tivessem feito login em 6 meses; quando avisaram que as pessoas ficariam furiosas e postariam no Twitter ou Reddit, ele respondeu com toda confiança que bastava explicar que aquilo não era sustentável e pedir para criarem a conta de novo
Então implementamos, e um segundo depois começaram a chegar tickets furiosos ao suporte e posts em redes sociais; o mesmo líder imediatamente tirou o corpo fora dizendo que "não era esse o tipo de implementação que eu esperava"
Até hoje não faço ideia de que resultado ele imaginava
Claro, parte das pessoas na Anthropic talvez concorde com várias dessas práticas, mas meu palpite é que a empresa evita traçar limites claros justamente para manter margem de manobra conforme a conveniência do momento
Em janeiro me cobraram três vezes em duplicidade, e a Anthropic reconheceu os fatos, mas mesmo assim recusou o reembolso
No fim, venci via contestação no cartão
Se foi, queria saber se você criou outra conta e se ela também foi bloqueada
Decidi bem cedo que não usaria o Claude
Quando impediram a criação de uma segunda conta com o mesmo número de telefone, mesmo para uso comercial, já deu para sacar
Depois eles removeram essa limitação, mas só esse episódio já deixou claro que a Anthropic não entende direito os próprios clientes
Os modelos são bons, mas o processo de cadastro é muito mais complicado e trabalhoso do que o dos concorrentes, e no geral é bem bagunçado