Um gist publicado pela Flamerix AI documenta um comportamento não documentado no Claude Code, o agente de codificação da Anthropic: a cada aproximadamente 30 segundos, para cada agente em segundo plano em execução, a ferramenta reenvia a transcrição completa desse agente para seu próprio modelo — geralmente o Opus — e pede que ele "descreva sua ação mais recente em 3-5 palavras". A resposta apenas atualiza uma linha de status no painel de agentes; ela nunca chega à saída do modelo nem à conversa do usuário. Não há uma configuração documentada para desativá-lo, e o texto afirma que o comportamento está ativado por padrão desde o Claude Code 2.1.232, lançado em agosto de 2026.
A anomalia veio à tona por meio da própria exportação OpenTelemetry do Claude Code, em que o agrupamento de eventos claude_code.api_request por query_source mostrou uma categoria chamada agent_summary gastando mais do que a conversa principal que ela supostamente deveria apoiar. O gist atribui a detecção a DRIM. Na semana anterior à instalação de uma correção, agent_summary respondeu por 16.4% da própria estimativa de custo por requisição do Claude Code — contra 15.7% da conversa principal — e 19.7% de todas as requisições de API, cerca de uma em cada cinco; dois dias após a correção, ambos os números caíram a zero. Desse gasto, 96% rodou no Opus, com uma proporção de tokens de entrada para saída que o texto estima em cerca de 9,000:1, já que cada chamada reenvia uma transcrição completa para extrair um punhado de palavras.
O texto enquadra isso como algo não isolado: aponta para o GitHub issue #86879, que, segundo ele, reúne quatro medições independentes situando essa sobrecarga entre 18–26% do gasto. Sua própria linha do tempo rastreada mostra a fatia subindo de 3.5–7% em julho para 7.3% e depois 11.8% após a adoção da versão 2.1.233, chegando a cerca de 16% em meados de outubro — acompanhando o momento em que o comportamento passou de uma opção opt-in no SDK para ativado por padrão em agentes interativos em segundo plano.
O detalhe operacional mais difícil é a visibilidade. Essas requisições não são gravadas nos logs de sessão em disco do Claude Code — o gist cita o issue #104358 — então apenas uma exportação OpenTelemetry as revela; a documentação da Anthropic sobre uso de tokens em segundo plano não lista esse comportamento, e a documentação do Agent View descreve, em vez disso, uma atualização separada e divulgada de classe Haiku. Qualquer ferramenta de custo ou auditoria que leia arquivos de log de sessão em vez de telemetria subestimará o gasto e deixará de perceber que transcrições completas estão sendo reenviadas em um temporizador.
Não existe um interruptor de desativação nativo. A opção documentada do SDK, agentProgressSummaries, tem como padrão false, mas o gist afirma que o pacote compilado faz um OR dessa flag com outros caminhos de código que a definem como true, de modo que o padrão documentado não muda nada. Variáveis de ambiente óbvias também não ajudam: DISABLE_NON_ESSENTIAL_MODEL_CALLS simplesmente não aparece no binário, e CLAUDE_CODE_FORK_SUBAGENT=0 ou CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 realmente interrompem as chamadas de resumo — mas apenas desativando por completo os fork subagents ou os agentes em segundo plano. O próprio intervalo é controlado pelo servidor, limitado entre 30 e 240 segundos desde a versão 2.1.300, sem nenhum valor do lado do cliente que o desative. Um modo curto mais barato — cerca de 2,000 tokens de notas em vez da transcrição completa — foi lançado na versão 2.1.310, mas vem desativado por padrão.
A solução alternativa da comunidade, no-agent-summary.js, é um script Bun --preload de cerca de 70 linhas que envolve a chamada global setTimeout por meio da qual o temporizador de resumo é armado, e se recusa a armar qualquer temporizador cujo código-fonte do callback contenha uma string âncora específica do summarizer, deixando todos os outros temporizadores intactos. O autor relata ter testado isso no Linux em versões do Claude Code de 2.1.257 a 2.1.312, com um relato em macOS (darwin-arm64) confirmando o mesmo comportamento; o Windows não foi testado. O método é explicitamente frágil — ele faz correspondência no texto-fonte via Function.prototype.toString, então uma linha de log renomeada, um callback envolvido em fn.bind(), ou uma mudança para setInterval ou outra API de temporizador o neutraliza silenciosamente, razão pela qual o texto recomenda reexecutar suas etapas de verificação após cada atualização do Claude Code.
Para equipes que executam agentes em segundo plano do Claude Code sobre qualquer coisa sensível, a conclusão prática é extrair a exportação OpenTelemetry e verificar a contagem de query_source=agent_summary antes de confiar no painel de custos ou no log de sessão em disco, já que esse tráfego não aparece em nenhum dos dois.