Correção de Desperdício de Tokens no Claude Code: Desativar Cabeçalho de Atribuição para Melhores Acertos de Cache

O Claude Code tem desperdiçado tokens em cada nova sessão desde a versão 2.1.69 devido a um cabeçalho de atribuição de cobrança que quebra o cache de prompts. O problema está documentado em várias issues do GitHub (#40652, #34629, #40524) sem resposta oficial da Anthropic até a data de publicação da fonte.
O Que Está Acontecendo
Desde a v2.1.69, o Claude Code insere uma string de atribuição de cobrança no primeiro bloco do seu prompt do sistema: x-anthropic-billing-header: cc_version=2.1.88.a3f; cc_entrypoint=cli; cch=00000;
A parte .a3f é um hash de 3 caracteres calculado a partir da sua primeira mensagem em cada conversa usando esta função:
function computeHash(firstUserMessage, version) {
const chars = [4, 7, 20].map(i => firstUserMessage[i] || "0").join("");
return sha256("59cf53e54c78" + chars + version).slice(0, 3);
}Conversas diferentes com primeiras mensagens diferentes geram hashes diferentes cada vez.
Por Que Isso Quebra o Cache
O cache da Anthropic requer segmentos de prompt 100% idênticos. O cache é compartilhado em toda a sua Organização ou Workspace, não por sessão. O cabeçalho de cobrança fica no início do prompt do sistema de ~23K tokens, e como ele muda por conversa, o prefixo nunca corresponde, causando falhas de cache em cada novo chat.
Resultados do Benchmark
Um teste A/B controlado mostrou:
- Cabeçalho LIGADO (padrão): 48% de taxa de acerto no cache, ~12K tokens reconstruídos por sessão
- Cabeçalho DESLIGADO: 99,98% de taxa de acerto no cache, criação zero de cache em 3 de cada 4 sessões
O resultado é 7x mais barato por sessão no processamento do prompt do sistema.
A Solução
Adicione isto à configuração do seu shell:
export CLAUDE_CODE_ATTRIBUTION_HEADER=falsePara usuários do zsh:
echo 'export CLAUDE_CODE_ATTRIBUTION_HEADER=false' >> ~/.zshrc
source ~/.zshrcNovas sessões o detectam automaticamente. Sessões existentes não precisam ser reiniciadas—o hash não muda no meio da conversa, e elas não interferem com novas sessões.
Segurança e Contexto
Isto não é uma gambiarra—a variável de ambiente existe no código-fonte como um recurso de alternância adequado. O claude-code-router e o CLIProxyAPI têm sido enviados com isso desativado em produção sem problemas relatados.
A Anthropic provavelmente implementou isto para rastrear qual versão e ponto de entrada (CLI vs SDK vs GitHub Action) fez cada chamada de API, colocando-o no prompt do sistema porque o Bedrock/Vertex não encaminham cabeçalhos personalizados.
📖 Leia a fonte completa: r/ClaudeAI
👀 See Also

O limite de taxa não documentado do pool OAuth da Anthropic requer o prompt do sistema Claude Code
Ao usar tokens OAuth da Anthropic, a API direciona as solicitações para o pool de limite de taxa do Claude Code com base em se seu prompt do sistema se identifica como Claude Code. Adicionar 'Você é o Claude Code, o CLI oficial da Anthropic para Claude.' ao seu prompt do sistema resolve erros 429 misteriosos.

Instruções Personalizadas Essenciais para o Claude para Evitar Aborrecimentos Comuns
Um usuário do Reddit compartilha três instruções personalizadas específicas para lidar com irritações comuns do Claude: exigir avisos antes de comandos destrutivos, evitar mudanças de plano no meio das respostas e manter blocos de código exclusivamente para código funcional.

Problemas de Quantização do Cache KV em Agentes de Codificação Locais com Altos Comprimentos de Contexto
Uma análise do Reddit identifica a quantização agressiva do cache KV como a causa de loops infinitos de correção e saídas JSON malformadas em agentes de codificação locais como Qwen3-Coder e GLM 4.7 em contextos de 30k+ tokens, recomendando precisão mista ou contexto reduzido como soluções alternativas.

Usando ntfy para notificações do agente OpenClaw
Um desenvolvedor compartilha sua experiência usando a versão auto-hospedada do ntfy.sh para notificações push de agentes OpenClaw, evitando bots do Discord/Telegram ao executar o ntfy serve no mesmo VPS e usar requisições HTTP POST.