Corrección de Desperdicio de Tokens en Claude Code: Deshabilitar el Encabezado de Atribución para Mejores Aciertos de Caché

Claude Code ha estado desperdiciando tokens en cada nueva sesión desde la versión 2.1.69 debido a un encabezado de atribución de facturación que rompe el almacenamiento en caché de prompts. El problema está documentado en múltiples issues de GitHub (#40652, #34629, #40524) sin respuesta oficial de Anthropic hasta la fecha de publicación de la fuente.
Qué está sucediendo
Desde la v2.1.69, Claude Code inserta una cadena de atribución de facturación en el primer bloque de tu prompt del sistema: x-anthropic-billing-header: cc_version=2.1.88.a3f; cc_entrypoint=cli; cch=00000;
La parte .a3f es un hash de 3 caracteres calculado a partir de tu primer mensaje en cada conversación usando esta función:
function computeHash(firstUserMessage, version) {
const chars = [4, 7, 20].map(i => firstUserMessage[i] || "0").join("");
return sha256("59cf53e54c78" + chars + version).slice(0, 3);
}Diferentes conversaciones con diferentes primeros mensajes generan hashes diferentes cada vez.
Por qué esto rompe el almacenamiento en caché
El almacenamiento en caché de Anthropic requiere segmentos de prompt 100% idénticos. La caché se comparte en toda tu Organización o Espacio de trabajo, no por sesión. El encabezado de facturación se sitúa al principio del prompt del sistema de ~23K tokens, y como cambia por conversación, el prefijo nunca coincide, causando fallos de caché en cada nuevo chat.
Resultados de referencia
Una prueba A/B controlada mostró:
- Encabezado ACTIVADO (predeterminado): 48% de tasa de aciertos de caché, ~12K tokens reconstruidos por sesión
- Encabezado DESACTIVADO: 99.98% de tasa de aciertos de caché, cero creación de caché en 3 de cada 4 sesiones
El resultado es 7 veces más barato por sesión en procesamiento de prompts del sistema.
La solución
Añade esto a tu configuración de terminal:
export CLAUDE_CODE_ATTRIBUTION_HEADER=falsePara usuarios de zsh:
echo 'export CLAUDE_CODE_ATTRIBUTION_HEADER=false' >> ~/.zshrc
source ~/.zshrcLas nuevas sesiones lo detectan automáticamente. Las sesiones existentes no necesitan reiniciarse—el hash no cambia a mitad de la conversación, y no interfieren con nuevas sesiones.
Seguridad y antecedentes
Esto no es un hack—la variable de entorno existe en el código fuente como un interruptor de función adecuado. claude-code-router y CLIProxyAPI han estado enviándose con esto desactivado en producción sin problemas reportados.
Anthropic probablemente implementó esto para rastrear qué versión y punto de entrada (CLI vs SDK vs GitHub Action) realizó cada llamada API, colocándolo en el prompt del sistema porque Bedrock/Vertex no reenvían encabezados personalizados.
📖 Leer la fuente completa: r/ClaudeAI
👀 Ver también

Gancho Personalizado PostToolUse para Carga Bajo Demanda de CLAUDE.md Fuera del Árbol del Proyecto
Un desarrollador comparte una solución personalizada de enlace PostToolUse que permite a Claude Code leer archivos CLAUDE.md de directorios fuera del árbol del proyecto actual bajo demanda, abordando las limitaciones en el comportamiento de carga integrado.

Optimización de Costes en OpenClaw: De $200 a $1/Mes

Configuración del Día 1: Prevenga el 90% de los Problemas Comunes de OpenClaw
Establece límites de gasto, escribe un SOUL.md y ajusta el intervalo de heartbeat para evitar facturas sorpresa, comportamiento rogue y choque de costos.

OpenClaw en M4 Pro: Encontrando barreras con el uso del navegador, el uso de la computadora y Codex
Un usuario reporta agentes atascados en bucles de terminal, bloqueados en sitios web y salidas de Codex defectuosas, buscando ajustes de configuración para el navegador de automatización, control de la GUI de macOS y bucles de interrupción.