1 pontos por GN⁺ 1 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Recentemente, se a string HERMES.md entrasse 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.md falhava, mas add hermes.md era processado normalmente
  • Em testes de reprodução, foi confirmado API Error: 400 "You're out of extra usage..." em claude-opus-4-6[1m] e claude-opus-4-7, enquanto HERMES, HERMES.txt, README.md etc. 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.md aparecesse 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.md no 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 em claude-opus-4-7
  • No procedimento mínimo de reprodução, após git commit -m "add HERMES.md", a execução de claude -p "say hello" --model "claude-opus-4-6[1m]" retornava API 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-fail e /tmp/test-pass, depois git init, adicionar arquivos, fazer commit, executar claude -p e, por fim, limpar tudo com rm -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.md presente 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.md era 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 usage nã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.md em 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

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
  • 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.

Ainda não há comentários.