Un gist publicado por Flamerix AI documenta un comportamiento no documentado en Claude Code, el agente de codificación de Anthropic: cada aproximadamente 30 segundos, para cada agente en segundo plano en ejecución, la herramienta reenvía la transcripción completa de ese agente a su propio modelo —generalmente Opus— y le pide que "describa tu acción más reciente en 3-5 palabras". La respuesta solo actualiza una línea de estado en el panel de agentes; nunca llega a la salida del modelo ni a la conversación del usuario. No existe una configuración documentada para desactivarlo, y el artículo afirma que ha estado activado por defecto desde Claude Code 2.1.232, lanzado en agosto de 2026.

La anomalía salió a la luz a través de la propia exportación de OpenTelemetry de Claude Code, donde agrupar los eventos claude_code.api_request por query_source mostró que una categoría llamada agent_summary gastaba más que la conversación principal que supuestamente debía respaldar. El gist atribuye la detección a DRIM. En la semana previa a la instalación de una corrección, agent_summary representó el 16.4% de la propia estimación de costo por solicitud de Claude Code —frente al 15.7% de la conversación principal— y el 19.7% de todas las solicitudes API, aproximadamente una de cada cinco; dos días después de la corrección, ambas cifras eran cero. De ese gasto, el 96% se ejecutó en Opus, con una proporción de tokens de entrada a salida que el artículo ubica en aproximadamente 9,000:1, ya que cada llamada reenvía una transcripción completa para extraer un puñado de palabras.

El artículo enmarca esto como algo no aislado: señala el issue #86879 de GitHub, que según indica recopila cuatro mediciones independientes que ubican la sobrecarga entre 18–26% del gasto. Su propia línea de tiempo registrada muestra que la proporción subió de 3.5–7% en julio, a 7.3% y luego 11.8% tras adoptar la versión 2.1.233, hasta aproximadamente 16% a mediados de octubre —coincidiendo con el punto en que el comportamiento pasó de ser opt-in en el SDK a estar activado por defecto para agentes interactivos en segundo plano.

El detalle operativo más duro es la visibilidad. Estas solicitudes no se escriben en los registros de sesión en disco de Claude Code —el gist cita el issue #104358— por lo que solo una exportación de OpenTelemetry las revela; la documentación de Anthropic sobre el uso de tokens en segundo plano no menciona el comportamiento, y la documentación de Agent View describe en cambio una actualización separada y declarada de clase Haiku. Cualquier herramienta de costos o auditoría que lea archivos de registro de sesión en lugar de telemetría subestimará el gasto y pasará por alto que se están reenviando transcripciones completas con un temporizador.

No existe un interruptor de apagado propio. La opción documentada del SDK, agentProgressSummaries, tiene por defecto false, pero el gist indica que el paquete compilado aplica un OR de esa bandera con otras rutas de código que la fijan en true, por lo que el valor por defecto documentado no cambia nada. Las variables de entorno obvias tampoco ayudan: DISABLE_NON_ESSENTIAL_MODEL_CALLS no aparece en el binario en absoluto, y CLAUDE_CODE_FORK_SUBAGENT=0 o CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 sí detienen las llamadas de resumen —pero solo deshabilitando por completo los fork subagents o los agentes en segundo plano. El intervalo en sí está controlado por el servidor, acotado entre 30 y 240 segundos desde la versión 2.1.300, sin ningún valor del lado del cliente que lo desactive. Un modo corto más económico —aproximadamente 2,000 tokens de notas en lugar de la transcripción completa— se lanzó en la versión 2.1.310 pero viene desactivado por defecto.

La solución alternativa de la comunidad, no-agent-summary.js, es un script de --preload de Bun de unas 70 líneas que envuelve la llamada global a setTimeout mediante la cual se arma el temporizador de resumen y se niega a armar cualquier temporizador cuyo código de callback contenga una cadena ancla específica del summarizer, dejando intacto cualquier otro temporizador. El autor informa haberlo probado en Linux contra las versiones 2.1.257 a 2.1.312 de Claude Code, con un reporte en macOS (darwin-arm64) que confirma el mismo comportamiento; en Windows no se ha probado. El método es explícitamente frágil —coincide en el texto fuente mediante Function.prototype.toString, de modo que una línea de log renombrada, un callback envuelto en fn.bind(), o un cambio a setInterval o a otra API de temporizador lo anula silenciosamente, razón por la cual el artículo recomienda volver a ejecutar sus pasos de verificación después de cada actualización de Claude Code.

Para los equipos que ejecutan agentes en segundo plano de Claude Code contra cualquier dato sensible, la conclusión es extraer la exportación de OpenTelemetry y verificar el conteo de query_source=agent_summary antes de confiar en el panel de costos o en el registro de sesión en disco, ya que este tráfico no aparece en ninguno de los dos.