EM ALTA · Como Escalar Campanhas Facebook Ads — guia completo
17.05.26 · 150 ARTIGOS
Blog do Bufano.
Assinar

SDK TypeScript da Anthropic v0.111.0: suporte a "dreaming" e mais

A v0.111.0 do SDK TypeScript da Anthropic chegou com suporte a "dreaming" na API e controle aprimorado de permissões em chamadas de ferramentas de sessão.

CB
Celso Bufano
12 de julho de 2026 · 3 MIN DE LEITURA
Visualização abstrata de redes neurais em estado de "dreaming", com conexões sinápticas brilhantes em azul e roxo sobre fundo escuro

Se você constrói agentes com Claude e usa o SDK TypeScript da Anthropic, a versão 0.111.0 merece atenção imediata. Lançada em 10 de julho de 2026, essa atualização traz duas mudanças que vão além do cosmético: um novo recurso chamado dreaming na API e uma lógica revisada de controle de permissões em chamadas de ferramentas de sessão. Juntas, elas afetam diretamente como seus agentes pensam, agem e são contidos.

Vamos destrinchar o que cada uma significa na prática.


O que é o recurso “dreaming” da API Anthropic?

O nome chama atenção — e não é por acaso. O suporte a dreaming foi adicionado à API Anthropic e exposto no SDK TypeScript como parte do release sdk-v0.111.0. Embora a Anthropic não tenha publicado documentação extensa sobre o recurso no momento do lançamento, o que sabemos com base no commit 77b28a6 é que trata-se de uma capacidade nova, adicionada diretamente na camada de API — ou seja, não é apenas um helper de conveniência no SDK, mas algo que o modelo suporta natively.

A metáfora do “sonho” tem paralelos interessantes com conceitos de pesquisa em IA: estados de processamento interno que não são diretamente expostos ao usuário como resposta, mas que permitem ao modelo realizar algum tipo de raciocínio latente ou exploração interna antes de produzir uma saída. Pense em algo análogo ao extended thinking do Claude — um modo em que o modelo processa mais profundamente antes de responder.

Na prática, o que isso significa para desenvolvedores?

  • Possível novo parâmetro de requisição na API de mensagens para ativar o modo dreaming;
  • Comportamento de output diferente, com o modelo potencialmente retornando blocos de conteúdo adicionais ou metadados associados ao processo interno;
  • Impacto em latência e custo, já que modos de processamento mais profundos tendem a consumir mais tokens e tempo de inferência.

Até que a Anthropic publique documentação oficial detalhada, a recomendação é: não ative dreaming em produção sem testes controlados. Explore o parâmetro em ambiente de desenvolvimento, inspecione os objetos de resposta com cuidado e monitore o consumo de tokens. O SDK já expõe os tipos necessários — use o IntelliSense do TypeScript a seu favor.

Um ponto importante: o fato de esse recurso ser introduzido via SDK TypeScript antes de uma documentação pública ampla sugere que a Anthropic está adotando uma abordagem de developer-first rollout, permitindo que integradores avancem mais rápido enquanto a documentação final é preparada. Fique de olho nos changelogs oficiais da Anthropic para atualizações.


Gatekeeping de permissões em chamadas de ferramentas de sessão

Essa mudança é mais técnica, mais imediata e tem impacto direto em quem já usa ferramentas de sessão (session tools) com o Claude. O commit 68a6d7b introduz duas alterações relacionadas:

  1. Chamadas de ferramentas de sessão agora são bloqueadas por evaluated_permission
  2. O tempo ocioso (idle) passa a ser limitado pelo stop_reason do servidor

O que é evaluated_permission?

Em arquiteturas de agentes, o Claude pode chamar ferramentas — funções externas, APIs, ações em sistemas. Em sessões prolongadas ou multi-turno, existe o conceito de ferramentas de sessão: ferramentas que persistem e são reutilizadas ao longo de múltiplas interações dentro de uma sessão.

Com a v0.111.0, antes de executar uma chamada a uma ferramenta de sessão, o SDK agora verifica se a permissão para aquela ferramenta foi avaliada e concedida (evaluated_permission). Isso significa que chamadas de ferramentas não são mais simplesmente despachadas; elas passam por um passo de validação de permissão antes de prosseguir.

Por que isso importa? Para quem constrói agentes autônomos, esse é um mecanismo de segurança crítico. Sem esse gatekeeping, um agente poderia acumular chamadas de ferramentas em fila e executá-las sequencialmente sem que o desenvolvedor tivesse controle granular sobre quais ações eram permitidas em cada momento. Com evaluated_permission, você tem um ponto de controle explícito.

Na prática, se você tem código que assume que uma ferramenta de sessão será chamada assim que solicitada pelo modelo, pode ser necessário revisar seu fluxo. Adicione tratamento para o caso em que a permissão ainda não foi avaliada — o SDK deve retornar um estado ou erro distinguível nesse cenário.

// Exemplo conceitual de como o gatekeeping pode se manifestar
// (baseado no comportamento descrito no changelog)

const response = await client.beta.messages.create({
  model: "claude-opus-4-5",
  max_tokens: 1024,
  tools: sessionTools,
  messages: conversationHistory,
});

// Verifique o stop_reason antes de assumir que ferramentas foram executadas
if (response.stop_reason === "tool_use") {
  const toolUseBlock = response.content.find(b => b.type === "tool_use");
  
  // Com a v0.111.0, a permissão pode não ter sido avaliada ainda
  // Trate explicitamente esse estado no seu loop de agente
  if (toolUseBlock) {
    const permissionGranted = await checkEvaluatedPermission(toolUseBlock.name);
    if (permissionGranted) {
      await executeTool(toolUseBlock);
    } else {
      // Lide com permissão pendente ou negada
      handlePermissionDenied(toolUseBlock.name);
    }
  }
}

Idle limitado pelo stop_reason do servidor

A segunda parte do commit é igualmente relevante: o tempo ocioso do agente agora é limitado pelo stop_reason retornado pelo servidor, não apenas por timeouts locais configurados pelo desenvolvedor.

Isso muda a semântica de loops de agente que ficam “esperando” por uma nova instrução ou por resultado de uma ferramenta. Se o servidor retorna um stop_reason específico, o SDK passa a usar isso como sinal autoritativo de que o agente deve parar de ficar ocioso — independentemente de quanto tempo restaria num timeout configurado localmente.

Implicação prática: loops de agente que usavam while(true) com sleep ou polling podem precisar ser revisados para respeitar o stop_reason do servidor como condição de saída. Isso torna o comportamento mais previsível e alinhado com o que o servidor indica ser o estado correto da sessão.

// Loop de agente revisado para respeitar stop_reason do servidor
async function runAgentLoop(initialMessages: MessageParam[]) {
  let messages = initialMessages;
  
  while (true) {
    const response = await client.messages.create({
      model: "claude-opus-4-5",
      max_tokens: 4096,
      tools: myTools,
      messages,
    });

    // stop_reason do servidor é agora sinal autoritativo
    if (response.stop_reason === "end_turn" || response.stop_reason === "stop_sequence") {
      console.log("Agente encerrou por sinal do servidor.");
      break;
    }

    if (response.stop_reason === "tool_use") {
      // Processe ferramentas e continue...
      const toolResults = await processToolCalls(response.content);
      messages = [...messages, 
        { role: "assistant", content: response.content },
        { role: "user", content: toolResults }
      ];
      continue;
    }

    // Não ignore stop_reasons desconhecidos — logue e decida
    console.warn(`stop_reason inesperado: ${response.stop_reason}`);
    break;
  }
}

O que atualizar imediatamente no seu projeto TypeScript

Aqui está um checklist direto para quem mantém projetos com o SDK TypeScript da Anthropic:

1. Atualize o pacote

npm install @anthropic-ai/sdk@0.111.0
# ou
yarn add @anthropic-ai/sdk@0.111.0
# ou
pnpm add @anthropic-ai/sdk@0.111.0

2. Revise loops de agente que usam ferramentas de sessão

  • Adicione verificação explícita de evaluated_permission onde aplicável
  • Não assuma que ferramentas de sessão são executadas imediatamente após solicitação pelo modelo

3. Respeite stop_reason como sinal de autoridade

  • Audite todos os loops while(true) em seus agentes
  • Certifique-se de que o stop_reason do servidor pode interromper estados ociosos

4. Explore dreaming com cautela

  • Se quiser testar o novo parâmetro, faça isso em ambiente isolado
  • Monitore tokens de entrada e saída — modos de raciocínio mais profundo impactam custo
  • Use o TypeScript a seu favor: o compilador vai te mostrar os novos tipos disponíveis

5. Leia o diff completo


Impacto para quem constrói produtos com Claude

Para empreendedores e times de produto que usam Claude como motor de agentes — seja em automações de marketing, suporte ao cliente, análise de dados ou geração de conteúdo — essa versão tem dois efeitos principais:

Segurança e controle aumentados. O gatekeeping por evaluated_permission é uma barreira adicional contra execuções não intencionais. Em agentes que operam com ferramentas de alto impacto (envio de emails, escrita em bancos de dados, chamadas a APIs externas), isso é uma camada de proteção que você vai querer ter — e vai querer garantir que está configurada corretamente.

Novos horizontes de raciocínio. O dreaming, quando documentado e estável, pode representar uma nova fronteira para tarefas que exigem reflexão profunda antes da ação — análise de cenários complexos, revisão editorial, raciocínio estratégico. Vale ficar próximo das atualizações da Anthropic nos próximos ciclos.

A trajetória do SDK TypeScript da Anthropic deixa claro que a plataforma está amadurecendo rapidamente — não apenas em capacidades de modelo, mas em infraestrutura de controle, segurança e previsibilidade para aplicações em produção. Cada release traz peças que, somadas, formam um ecossistema mais robusto para construção de agentes sérios.

Atualize o SDK, revise seus loops de agente e fique de olho na documentação oficial. Quem constrói sobre a plataforma da Anthropic hoje tem a vantagem de acompanhar os recursos antes da maioria — use isso.


Fontes

NEWSLETTER · TODA QUINTA

IA, Dev e tráfego pago na sua caixa.

Curadoria do Celso Bufano sobre IA aplicada, Python, WordPress e estratégias de afiliado. Nada de spam — só o que vale a pena ler.

+ 2.400 leitores · cancele a hora que quiser

Comentários


💬 Comentários via Giscus (GitHub) serão integrados aqui.
Configure em src/components/Comments.astro após criar o repo público no GitHub.
CONTINUE LENDO

Relacionados em Anthropic

VER EDITORIA →
Claude Code v2.1.207: Auto Mode geral, terminal mais rápido e correções
ANTHROPIC

Claude Code v2.1.207: Auto Mode geral, terminal mais rápido e correções

Auto Mode agora disponível sem opt-in no Bedrock, Vertex AI e Foundry. Conheça as correções de travamento de t…

Celso Bufano · 3 min · 11 DE JUL DE 26
Claude Code v2.1.206: /doctor, /cd melhorado e gateway público
ANTHROPIC

Claude Code v2.1.206: /doctor, /cd melhorado e gateway público

A versão 2.1.206 do Claude Code traz o comando /doctor para enxugar CLAUDE.md, sugestões de diretório no /cd e…

Celso Bufano · 3 min · 10 DE JUL DE 26
Claude Code v2.1.205: correções críticas e nova regra de segurança
ANTHROPIC

Claude Code v2.1.205: correções críticas e nova regra de segurança

A v2.1.205 do Claude Code traz bloqueio automático contra adulteração de transcrições, correções no --json-sch…

Celso Bufano · 3 min · 09 DE JUL DE 26