Si está utilizando agentes en segundo plano en Claude Code, el texto de la barra de estado que aparece junto al panel de agentes, como «Modificando archivo…», puede generar un consumo considerable de tokens en segundo plano. A partir de la versión 2.1.232, publicada en agosto de 2026, la funcionalidad agent_summary está activada de forma predeterminada para los agentes interactivos en segundo plano. Esta característica envía la transcripción completa de la conversación del agente al modelo cada 30 segundos para generar un texto de estado de 3 a 5 palabras.
Según el análisis de los datos de OpenTelemetry de su propio sistema, publicado por el equipo de IA de Flamerix, el coste derivado de las solicitudes agent_summary representaba el 16,4 % del coste total y el 19,7 % del número de solicitudes a la API 1. En la incidencia de GitHub #86879, varios usuarios con entornos de uso intensivo de subagentes reportaron proporciones significativas utilizando métricas distintas. rflcrz midió que, en una sesión de 4 horas (con 27 subagentes), los resúmenes de agente (agent_summary) suponían el 22,7 % del número de solicitudes y el 18,0 % de los tokens ponderados, calculados según la tarifa de Opus 5. Sylvain-artois reportó que, en una sesión de 1 hora y 45 minutos, el 26 % correspondía a tokens de lectura de caché, mientras que kcarriedo constató entre el 15 % y el 22 % de tokens ponderados en sesiones con más de 20 subagentes 2. Por su parte, Edwin Arbus, de Anthropic, explicó que, promediando entre todos los usuarios que envían telemetría, la proporción de coste es de aproximadamente el 2 % 3. Es decir, si el coste percibido en su propia carga de trabajo es elevado dependerá en gran medida de la frecuencia y del tamaño del contexto con los que ejecute los subagentes.
En este artículo, examinamos la estructura costosa de las llamadas agent_summary, cómo identificarlas y presentamos las ventajas y limitaciones de las medidas de bloqueo actualmente disponibles.
Ineficiencia de la lectura de la transcripción completa cada 30 segundos

Mediciones antes y después de Flamerix AI para su propia carga de trabajo. ↗
La razón principal por la que el coste de agent_summary es elevado radica en la asimetría entre la entrada y la salida. La función vuelve a enviar al modelo el historial completo de la conversación del agente activo en segundo plano cada 30 segundos, y el modelo se limita a leerlo para cumplir la instrucción de «resumir la última acción en 3 a 5 palabras».
Según las mediciones del equipo de Flamerix, la relación entre los tokens de entrada y los de salida es de aproximadamente 9.000:1. Además, el 96 % de los costes asociados se generan en modelos Opus, más costosos 1. El usuario de GitHub sylvain-artois reportó que un agente con un contexto de 380k consume aproximadamente 45 millones de tokens de lectura de caché por hora 2. Se trata, pues, de una estructura que lee cientos de miles de tokens para mostrar un estado de 3 a 5 palabras.
Este consumo está separado de la propia tarea del agente. Durante la llamada, se configura para funcionar de forma independiente del contexto de trabajo real del agente, con características como skipTranscript:true (no registrar la transcripción), bloqueo total de las herramientas y límite de un solo turno 2. Por lo tanto, bloquear estas solicitudes no afecta al funcionamiento básico del agente, como la modificación de archivos o la ejecución de comandos. El equipo de Flamerix verificó que, tras el bloqueo, las solicitudes agent_summary en los datos de OpenTelemetry se registraban como 0 y no eran sustituidas por otros orígenes de consultas 1.
Medidas de bloqueo actualmente disponibles

Ejemplo de ejecución con Bun preload publicado en la fuente original. ↗
No existe todavía una configuración específica para desactivar oficialmente agent_summary. En su lugar, el equipo de Flamerix y varios usuarios de GitHub han propuesto las siguientes soluciones alternativas.
1. Eludir el temporizador mediante un script de precarga de Bun
El equipo de Flamerix ha publicado un script de aproximadamente 70 líneas que neutraliza el temporizador mediante la opción --preload de Bun, sin modificar el binario de Claude Code. El método consiste en envolver la setTimeout global para que, al localizar una cadena ancla específica en el código fuente de la devolución de llamada del temporizador de resumen, devuelva un manejador vacío en lugar de ejecutar el temporizador real 1.
curl -fsSL https://gist.githubusercontent.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce/raw/no-agent-summary.js -o ~/.local/share/no-agent-summary.js
claude daemon stop --any
export BUN_OPTIONS="${BUN_OPTIONS:+$BUN_OPTIONS} --preload=$HOME/.local/share/no-agent-summary.js"
claudeEl punto de atención de este método es la dependencia del ancla. El script funciona de forma «abierta ante fallos» (fail-open); si la estructura interna del código o las cadenas cambian tras una actualización de Claude Code, el script dejará de funcionar silenciosamente. Por ello, es necesario volver a verificar la aparición de solicitudes mediante los datos de OpenTelemetry tras actualizar la versión 1.
2. Configuración de la variable de entorno CLAUDE_CODE_FORK_SUBAGENT
Los participantes en la incidencia de GitHub #86879, especialmente uwuclxdy, informaron de que establecer la variable de entorno CLAUDE_CODE_FORK_SUBAGENT=0 detiene el resumen 2.
{
"env": {
"CLAUDE_CODE_FORK_SUBAGENT": "0"
}
}Sin embargo, esta variable desactiva el modo bifurcación (fork) en su totalidad. Según sylvain-artois, quien lo comprobó mediante análisis de código, la condición para activar el resumen está vinculada a la puerta de bifurcación, por lo que la estructura exige desactivar la función de bifurcación para que también se desactive el resumen 2. Por tanto, puede ser una alternativa intuitiva para los usuarios que no necesiten el modo de bifurcación en el que los subagentes copian el historial de conversación, pero no es viable si se requiere dicha función. Cabe señalar que el análisis del bundle de la versión 2.1.276 confirmó que no existe una vía oficial para desactivar esta característica desde la interfaz de línea de comandos interactiva 2.
Cambios en la experiencia de usuario al bloquear

Ejemplo oficial de la lista de agentes de Anthropic; no es una comparación antes y después del bloqueo. ↗
Al bloquear agent_summary, el texto de la barra de estado de los agentes en segundo plano no se actualizará. Se pierde así el medio visual para saber qué está realizando actualmente el agente.
En Anthropic son conscientes de este punto. Edwin Arbus reconoció en Hacker News que el método actual es «excesivo para la barra de estado» y corrigió el problema de fallos de caché en las versiones 2.1.311 y superiores. Además, anunció que están desarrollando un «modo corto» que enviaría notas breves a un modelo más pequeño en lugar de la transcripción completa 3. Aunque se ha identificado la lógica relacionada en el código de la versión 2.1.310, el valor predeterminado sigue estando desactivado 3.
Medición de la proporción en su propia carga de trabajo

Mediciones de una sesión de cuatro horas con 27 subagentes, publicadas en el issue de GitHub. ↗
Si no se utilizan agentes en segundo plano, la proporción de esta funcionalidad es cercana al 0 %, pero al ejecutar múltiples subagentes durante largos periodos, puede subir hasta aproximadamente el 16 % según la evaluación de costes y hasta el 26 % según los tokens de lectura de caché 1, 2. Como las cifras varían según la métrica, se recomienda identificar primero la proporción en su entorno antes de decidir si bloquear o no la función.
Dado que las solicitudes de resumen para la barra de estado no se registran en la transcripción, no pueden identificarse mediante herramientas habituales de seguimiento de costes basadas en registros JSONL. Para confirmar la proporción exacta, es necesario activar la exportación de OpenTelemetry mediante CLAUDE_CODE_ENABLE_TELEMETRY=1 y agregar el número de solicitudes y los costes de la categoría query_source = agent_summary 1, 3.
Una manera segura de verificar la efectividad es aplicar el script de precarga de Bun y confirmar si la categoría query_source = agent_summary ha desaparecido de los datos de OpenTelemetry 1. La variable de entorno CLAUDE_CODE_FORK_SUBAGENT=0 desactiva todo el modo de bifurcación; por tanto, los usuarios que no empleen esta función pueden obtener el mismo efecto sin necesidad del script de Bun propuesto por el equipo de Flamerix 2.




