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

Ocultar linhas de execução do OpenClaw no chat do Telegram: correção com um comando
Impeça o OpenClaw de enviar comandos executáveis brutos para o chat do Telegram, definindo streaming.preview.toolProgress e streaming.progress.toolProgress como false. Um único comando Python faz backup da configuração, adiciona as chaves e uma reinicialização rápida aplica a correção.

Aprimorando o OpenClaw com o Poder do LLM Local: Apresentando o GLM-4.7-Flash
A integração do GLM-4.7-Flash com o OpenClaw está revolucionando a automação de IA ao permitir implantação local perfeita e execução sofisticada de código.

Atualização Automática do Claude Code Quase Quebra PC — Pesadelo de DNS Após Atualização de Driver
Um usuário do Reddit relata que o Claude Code atualizou automaticamente os drivers de GPU, causando falha na inicialização e um problema de roteamento DNS resolvido apenas com a remoção da regra NRPT via PowerShell.

Usuário do Reddit compartilha estrutura de prompt para reduzir desvios na saída de código do Claude em tarefas complexas
Um usuário do Reddit descobriu que usar um layout de prompt estruturado para tarefas mais longas no Claude Code ajuda a evitar a deriva da saída. A abordagem envolve definir elementos específicos como escopo da tarefa, arquivos necessários, critérios de sucesso e parâmetros de evitação antes da execução.