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

✍️ OpenClawRadar📅 Publicado: April 1, 2026🔗 Source
Correção de Desperdício de Tokens no Claude Code: Desativar Cabeçalho de Atribuição para Melhores Acertos de Cache
Ad

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.

Ad

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=false

Para usuários do zsh:

echo 'export CLAUDE_CODE_ATTRIBUTION_HEADER=false' >> ~/.zshrc
source ~/.zshrc

Novas 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

Ad

👀 See Also