TL;DR La línea que dice qué está haciendo cada background agent ("Reading docs/wmedia.md") se reescribe cada 30 segundos, y en el camino antiguo cada vez reenvía la conversación entera del agente. Anthropic anunció el 4 de noviembre que Haiku 5.5 la escribe ahora a partir de notas cortas, alrededor de un 99% menos por actualización, pero lo activa por cuentas. Comprueba qué camino usas con
--debug-file; si sigues en el antiguo,CLAUDE_CODE_DISABLE_AGENT_PROGRESS_SUMMARIES=1la apaga.
Mientras un background agent trabaja, Claude Code le pone una etiqueta corta en la fila del agente y la renueva cada 30 segundos. Esa etiqueta no la escribe el agente: es una llamada aparte al modelo, y gasta de tu límite de uso como cualquier otra. Con cinco agentes en paralelo durante veinte minutos son hasta doscientas llamadas que no pediste.
El anuncio de @ClaudeDevs lo resume así: cada actualización volvía a leer la conversación entera del agente, y ahora Haiku 5.5 la escribe a partir de notas cortas, alrededor de un 99% menos por actualización. El anuncio habla solo de esa etiqueta, no del trabajo del agente.
Lo que ves en la fila del agente
En una sesión interactiva de Claude Code v2.1.318, con un background agent que lee los archivos de una carpeta uno a uno, la fila cambia sola a los 30 segundos:
◯ general-purpose Reading docs/wmedia.md 32s · ↓ 41.3k tokens
Reading docs/wmedia.md es la etiqueta. Antes de la primera actualización, la fila muestra la descripción con la que se lanzó el agente (Summarize docs files).
Lo que costó esa etiqueta
Claude Code deja rastro de cada actualización en su log de depuración, con el prefijo [AgentSummary]. En esa sesión fue por el camino antiguo, un fork del agente con todo su contexto:
[AgentSummary] Timer fired for agent a1e2959a182852a9e
[AgentSummary] Forking for summary, 46 messages in context
Forked agent [agent_summary] finished: 1 messages, types=[assistant], totalUsage: input=9713 output=14 cacheRead=40319 cacheCreate=435
[AgentSummary] Summary result for a1e2959a182852a9e: Reading docs/wmedia.md
Unos 50.000 tokens de entrada para escribir 14 de salida. 40.319 salieron de la caché del agente, que cuestan mucho menos, pero 9.713 no. Y es una sola actualización de un agente que llevaba 30 segundos: el contexto crece mientras trabaja, y la siguiente lee más.
El camino nuevo deja otra línea en el mismo sitio, Asking <modelo> for summary from <N> characters of notes. Según el binario, las notas no pasan de unos 1.500 tokens.
No toda vuelta del temporizador acaba en llamada: se la salta si el agente tiene menos de tres mensajes o si nada ha cambiado desde la última etiqueta, y se para cuando el agente termina. En el camino antiguo, si la caché del agente está fría, espera en vez de pagar el contexto entero sin caché; el log lo dice con its prompt cache is likely cold.
Quién tiene ya el camino nuevo
En la v2.1.318, el camino nuevo está detrás de un feature flag que decide Anthropic, y si el flag no llega, el valor por defecto es el antiguo. El binario prevé activarlo de serie para algunos modelos en una versión futura, pero en esta la lista está vacía.
| Tu sesión | Camino |
|---|---|
API de Anthropic, con el flag ya activo para ti y sin cambiar el modelo Haiku (ANTHROPIC_DEFAULT_HAIKU_MODEL, ANTHROPIC_SMALL_FAST_MODEL) |
Notas cortas |
| API de Anthropic, sin el flag todavía | Fork con el contexto entero |
Bedrock, Vertex, Foundry, un gateway, o sin descarga de feature flags (DISABLE_TELEMETRY, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) |
Fork con el contexto entero |
El changelog de la v2.1.318 nombra el último grupo en su propia línea: en Bedrock, Vertex, Foundry o con la telemetría apagada, una actualización con la caché fría puede esperar ahora hasta 5 minutos a la respuesta pendiente del agente. La sesión del ejemplo era una sesión en la nube de claude.ai, el 5 de noviembre, y salió Forking: que Anthropic lo anuncie no quiere decir que ya lo tengas.
Comprueba el tuyo y decide
1. Arranca con el log de depuración
claude --debug-file /tmp/cc-debug.txt
2. Lanza un background agent que dure más de 30 segundos
Lanza un background agent que lea los archivos de docs/ uno a uno y resuma cada uno.
3. Busca la línea
grep "AgentSummary" /tmp/cc-debug.txt
characters of notes es el camino nuevo y no tienes que hacer nada. Forking for summary es el antiguo, y la línea Forked agent [agent_summary] finished te dice cuánto costó cada vuelta.
4. Si estás en el antiguo y lanzas muchos agentes, apágala
export CLAUDE_CODE_DISABLE_AGENT_PROGRESS_SUMMARIES=1
Con la variable, el log lo dice al lanzar el agente y no arranca ningún temporizador:
[AgentSummary] No progress summaries for ae1d85f08a38dde8a: CLAUDE_CODE_DISABLE_AGENT_PROGRESS_SUMMARIES is set
La fila del agente se queda con su descripción fija (Summarize docs files). Solo pierdes ver en qué archivo está trabajando. La variable no está en la documentación, sale del binario: vuelve a probarla tras actualizar.
Dos detalles más
- En el camino nuevo, la etiqueta sale en tu idioma. Si tienes
languageen settings, la instrucción pide escribirla en ese idioma, con los nombres de archivo y de función tal cual. El camino antiguo no manda esa instrucción. - En
claude -py en el Agent SDK las etiquetas solo se generan si la integración activa la opciónagentProgressSummaries. Un script que lanza agentes no paga esto si no la pide.
Para que el trabajo del agente cueste menos, lo que pesa es su modelo y su effort: Haiku 5.5 para subagentes y effort bajo para los rápidos. Y dónde ver todos los que corren a la vez lo cuenta el tip del panel de tareas.
Documentación oficial: Changelog, v2.1.318 · Subagents (no menciona las etiquetas)
Probado con Claude Code v2.1.318 en una sesión en la nube, el 5 de noviembre de 2026.