Computer use no SDK do Claude: como rodar um agente de navegador sem escrever o loop de ações

diagrama mostrando computer use no SDK do Claude roteando chamadas para um agente de navegador

Fala aí, beleza? A Anthropic acabou de tirar das suas costas a parte mais chata de montar um agente de navegador: o loop de ações 😀

Desde 7 de outubro de 2026, os SDKs Python e TypeScript do Claude trazem classes (em beta) que rodam sozinhas o ciclo de computer use e browser use

Antes era tudo na mão: o Claude pede uma ação, tu executa, devolve o resultado, ele pede outra, e por aí vai

Agora o SDK roteia as chamadas, aplica as políticas e monta cada tool_result pra você

Neste guia a gente sai de um script vazio e chega num agente que abre uma página, faz uma ação simples e devolve o resultado, beleza?

O que a Anthropic lançou em 7 de outubro de 2026?

A notícia apareceu no resumo do Latent Space, que cita a conta @ClaudeDevs e um quickstart

Conferindo na documentação oficial, o lançamento é este: classes nos SDKs Python e TypeScript para os toolsets browser_toolset_20260801 (browser use) e computer_toolset_20260801 (computer use)

Se liga numa diferença importante aqui, porque confunde MUITO fácil:

  • A ferramenta de browser use (browser_toolset_20260801) está em disponibilidade geral (GA) desde 19 de agosto de 2026
  • A ferramenta de computer use (computer_toolset_20260801) também saiu do beta no mesmo dia, 19 de agosto de 2026
  • As classes do SDK lançadas em 7/10 é que estão em beta

Ou seja, as duas ferramentas já são GA desde agosto. O que chegou agora é o SDK fazendo o trabalho braçal do loop por você: e é só essa parte nova que ainda está em beta

Quantas ferramentas cada toolset entrega?

O browser toolset é um toolset client definido pela Anthropic: uma única entrada nas tools dá ao Claude 27 ferramentas membro por padrão (como navigate, read_page, left_click e screenshot), mais quatro quando habilitadas

O computer toolset funciona igual, com uma entrada {"type": "computer_toolset_20260801"} que dá ao Claude 17 ferramentas membro, como screenshot, left_click, type e zoom

Os dois estão disponíveis na Claude API e no Google Cloud, e nenhum dos dois está disponível no Claude Managed Agents hoje

A requisição do computer toolset não precisa de beta header. Já as classes novas do SDK, lançadas em 7/10, estão marcadas como beta na documentação: vale confirmar na página oficial se isso implica algum header extra antes de colocar em produção

O que o Haiku 5.5 tem a ver com isso?

Tudo saiu no mesmo dia do lançamento do Claude Haiku 5.5 (ID claude-haiku-5-5), com janela de contexto de 1M tokens, saída máxima de 128k tokens e adaptive thinking controlado pelo parâmetro effort

Uma coisa fica clara na documentação: se você quiser computer use com esse modelo, o parâmetro antigo computer_20250124 retorna erro 400

Na Claude API e no Google Cloud, o computer use do Haiku 5.5 funciona só pelo toolset computer_toolset_20260801: então já é um motivo concreto pra migrar pra cá se você ainda usa o parâmetro antigo

Ah, um detalhe: isso aqui é o SDK pra quem está construindo o próprio agente via API

Se o que você procura é o computer use no Claude Code, é outro produto, com outra forma de ativar

Como o SDK roda o loop de ações por você?

Pensa assim: se você já usou um framework web que te dá uma classe base e você só sobrescreve os métodos que importam, é bem semelhante

Você herda uma classe abstrata do SDK: pra navegador é a BetaAbstractBrowserToolset20260801, importada de anthropic.tools.browser. O computer use tool tem uma classe equivalente documentada na própria página do toolset: confirme o nome exato ali antes de codar, porque o recurso ainda está em beta e os nomes podem mudar

Aí você escreve um método por ferramenta membro (por exemplo navigate ou left_click) contra a sua própria automação de navegador ou desktop

O resto é com o SDK: ele roteia cada chamada, aplica as políticas de URL e de arquivo, consulta o seu callback de aprovação e monta cada tool_result

O que é um driver mínimo?

Driver? É a peça que traduz a intenção do Claude ("clica ali") em ação real no navegador ou na tela

Segundo a documentação do browser use no SDK, um driver de navegador mínimo é uma subclasse de BetaAbstractBrowserToolset20260801 que implementa navigate, screenshot e left_click, mais o _browser_state

E o que é esse _browser_state? É o relatório de estado que todo driver precisa entregar

Se o seu driver não implementar alguma ferramenta membro, ela vai pra API como desativada; se o Claude chamar mesmo assim, o SDK devolve um erro e a execução continua, sem fechar o toolset

Boa notícia: se você usar um driver pronto, não precisa escrever nenhum desses métodos

Qual driver escolher: navegador local ou sandbox na nuvem?

Browser Use, Browserbase, Daytona e E2B publicam integrações próprias com os toolsets do SDK, ou você escreve a sua

Driver Mantido por O que você confirma antes de usar
Browser Use Browser Use, via SDK Python da Anthropic Onde o navegador roda (local, Browser Use Cloud ou um navegador remoto via CDP) e como configurar o callback confirm
Browserbase Browserbase Documentação própria da Browserbase
E2B E2B Documentação própria da E2B
Daytona Daytona Documentação própria da Daytona
Driver próprio Você Implementar os métodos da classe abstrata do SDK

O Browser Use mantém a própria integração, documentada em toolsets for Claude, e é a que a gente detalha neste guia porque tem exemplo pronto pra rodar

Pra Browserbase, E2B e Daytona, a documentação de cada integração fica no site do próprio parceiro: vale a pena olhar lá antes de escolher, principalmente se você precisa de isolamento em sandbox

Pra driver próprio, a referência é o quickstart oficial de VNC que a gente vê já já

O raciocínio que faz sentido: navegador local pro primeiro exemplo, sandbox antes de qualquer coisa que encoste em conta de verdade

E se a sua ideia é só deixar o agente olhar a tela enquanto você coda, talvez o Playwright MCP no Claude Code resolva sem montar nada disso

Pré-requisitos antes de rodar o primeiro agente:

  • Chave da API da Anthropic na variável ANTHROPIC_API_KEY
  • Uma versão do SDK Anthropic que contenha anthropic.tools.browser e client.beta.messages.tool_runner (versão antiga não tem esses helpers)
  • Python 3.11 ou mais novo, em Linux ou macOS com /bin/bash (no Windows, use WSL), mais uv, se for pelo caminho do Browser Use
  • Chave da Browserbase, se for rodar o navegador na nuvem deles
  • Um modelo compatível com tool use: o quickstart oficial de computer use usa claude-sonnet-5-5 como padrão; pra browser use com o Browser Use, confira na documentação da integração qual modelo ela recomenda antes de fixar o seu

Passo a passo: do script vazio ao agente que abre uma página

Primeiro vem o browser use em Python com o driver do Browser Use, e logo depois o computer use com o exemplo oficial da Anthropic

Bora ver na prática?

  1. Crie o projeto e instale tudo. Esses três comandos criam o projeto, instalam os pacotes e baixam o Chromium local:
uv init --python 3.12
uv add "browser-use>=0.13.11" "anthropic>=1,<2"
uvx browser-use install

Erro comum deste passo: o import de anthropic.tools.browser falhar mais pra frente

Isso indica um SDK Anthropic sem os helpers novos, então atualize o pacote anthropic no projeto. A faixa anthropic>=1,<2 sozinha não garante isso: você precisa especificamente da versão que já inclui anthropic.tools.browser e client.beta.messages.tool_runner

  1. Configure a chave. No Linux ou Mac, no mesmo terminal onde você vai rodar o script:
export ANTHROPIC_API_KEY="sua-chave-aqui"

Erro comum deste passo: exportar a chave num terminal e rodar o script em outro

Já vi muita gente perder tempo com isso haha, a variável só vale no shell onde foi definida

  1. Faça os imports documentados. São estes:
from browser_use.integrations.toolsets_for_claude import Bash, BrowserUse
from anthropic.tools.browser import LocalFilePolicy

Os argumentos de construção do BrowserUse ficam na documentação da integração, siga ela à risca em vez de chutar parâmetro

  1. Passe o toolset ao tool runner. O client.beta.messages.tool_runner() recebe model, max_tokens, tools e messages

O quickstart oficial do Browser Use usa model="claude-opus-5-5" e max_iterations=100; siga essa referência em vez de chutar outro modelo. Em messages, peça algo simples: abrir uma página e relatar o que tem nela

A cada iteração o runner verifica se o Claude pediu uma ferramenta, envia a chamada ao Browser Use, devolve o resultado e repete até o Claude terminar

Erro comum deste passo: escrever um loop manual em paralelo "por garantia"

Não faça isso, o loop é justamente o que o runner já resolve, e dois loops brigando pelo mesmo navegador viram bagunça

  1. Pegue a resposta final. Chame runner.until_done() e ele devolve a mensagem final do Claude, depois que ele parar de usar ferramentas

E o computer use na prática?

Pra controlar o desktop inteiro (e não só o navegador), o caminho é o exemplo oficial da Anthropic 🙂

O repositório anthropics/claude-quickstarts, na pasta computer-toolset, tem um exemplo VNC mínimo do computer_toolset_20260801 em Python e TypeScript

O run.py (ou run.ts) monta o driver de exemplo, passa ao tool runner e imprime as mensagens do modelo

Pra rodar ele, a ordem que faz sentido é:

  1. Configure a chave na ANTHROPIC_API_KEY, igual no passo 2 lá de cima
  2. Confira o SDK: precisa ser uma versão do SDK Anthropic com os helpers do computer toolset
  3. Valide o driver sem modelo: o exercise.py (ou exercise.ts) roda o toolset sem modelo e sem precisar de chave de API
  4. Rode o agente: o run.py (ou run.ts) monta o driver VNC, passa pro tool runner e imprime as mensagens do modelo. Antes de cada ação que não seja screenshot, ele mostra a chamada e só executa se você responder y

Os comandos exatos de execução ficam no README do quickstart, segue ele em vez de chutar. O modelo padrão usado ali é claude-sonnet-5-5

Onde configurar o limite de passos e as permissões?

Agente de navegador sem limite é tipo dar o cartão de crédito pra alguém e virar as costas, né?

Então são duas travas:

  1. Limite de passos: o max_iterations do tool runner encerra o loop quando atinge o número configurado, mesmo que o Claude ainda não tenha terminado
  2. Permissões: as políticas de URL e de arquivo do navegador, mais o callback de aprovação, são aplicadas pelo SDK a cada chamada (o LocalFilePolicy que aparece nos imports documentados é desse grupo). Sem uma política de URL definida, o SDK não verifica nenhuma URL: então definir uma não é opcional se você se importa com o que o agente acessa

A sintaxe exata das políticas e do callback está na documentação do SDK, confira lá antes de configurar

Cuidado com o callback de aprovação na integração do Browser Use

Tome cuidado aqui, porque é fácil confundir o exemplo rápido com o comportamento padrão

O quickstart oficial do Browser Use habilita as 31 ações de navegador mais o Bash sem pedir aprovação, porque o código do exemplo usa confirm=lambda _: True de propósito: ou seja, aprova tudo, sempre

Isso é uma escolha do quickstart, não um padrão da integração. Um BrowserUse() sem essa configuração segue o padrão da Anthropic: 27 ações ligadas por padrão, e javascript_exec, file_upload, read_console e read_network desligadas. Pra ligar file_upload ou javascript_exec você precisa passar um callback de confirmação de verdade

E tem outro detalhe importante: a confirmação do navegador não cobre o Bash. Se você usar Bash na integração, trate a aprovação dele separadamente, sem assumir que a mesma trava do navegador protege os dois

Resumindo: antes de copiar o confirm=lambda _: True do quickstart pro seu código, pergunta se você realmente quer aprovar tudo sem olhar. Na maioria dos casos, não

Como conferir o log das ações e o estado final da página?

Aqui está o resultado que você quer ver depois de rodar o exemplo

  1. Mensagens do modelo: o run.py/run.ts do quickstart imprime as mensagens do modelo, e é nelas que aparecem as chamadas de ferramenta e os resultados, passo a passo
  2. Mensagem final: o runner.until_done() entrega a resposta final do Claude, com o que ele encontrou na página
  3. Estado da página: em driver próprio, o _browser_state é o relatório de estado que todo driver implementa
  4. Teste sem precisar de chave de API: o exercise.py/exercise.ts roda o toolset sem modelo nenhum, útil pra validar o driver antes de configurar qualquer chamada ao Claude

O quickstart tem ainda o vnc_computer.py/vnc-computer.ts, que é o driver em si: uma subclasse do toolset abstrato que implementa dez das ferramentas

Se você vai escrever driver próprio, é o melhor lugar pra entender o formato

Erros comuns no dia a dia do agente

Erro 400 com computer_20250124 no Haiku 5.5

  • Causa: o Haiku 5.5 não aceita o parâmetro antigo computer_20250124 pra computer use
  • Solução: use o toolset computer_toolset_20260801, tanto na Claude API quanto no Google Cloud

Erro 400 ao enviar budget_tokens

  • Causa: o Haiku 5.5 não aceita extended thinking manual, então budget_tokens retorna erro 400
  • Solução: remova o budget_tokens e controle o raciocínio pelo parâmetro effort

Resposta começando com blocos de thinking

  • Causa: o adaptive thinking vem ligado por padrão no Haiku 5.5, então a resposta pode abrir com blocos de thinking
  • Solução: trate esses blocos no seu código, sem assumir que o primeiro bloco é sempre texto

O modelo não reconhece o toolset

  • Causa: modelo fora da lista suportada pelo toolset que você está usando
  • Solução: confira a lista de modelos compatíveis na página oficial do toolset (browser use ou computer use) antes de trocar de modelo

Como prevenir?

Fixe o ID do modelo no código e confira a lista de modelos suportados na documentação oficial antes de trocar de modelo

Custo de tokens e isolamento: o que considerar antes de produção

Quanto custa rodar o agente com Haiku 5.5?

Por 1M tokens, com prompt abaixo de 100K tokens: US$ 0,10 de entrada e US$ 0,50 de saída

Acima de 100K tokens de prompt, o preço sobe 5x: US$ 0,50 de entrada e US$ 2,50 de saída

E aqui mora o perigo: tarefa longa de navegador acumula contexto a cada passo (screenshot, resultado, nova ação…) e pode cruzar esse degrau sem você perceber

O Haiku 5.5 gasta muitos tokens?

Essa é a principal ressalva dele

Segundo a Artificial Analysis, no esforço máximo ele gasta cerca de 162k tokens de saída por tarefa do Intelligence Index, cerca de 3x mais que o GPT-6 Luna no máximo (~50k)

Então ajuste o effort pra baixo quando a tarefa for simples e segure o loop com max_iterations

Por que usar sandbox antes de contas reais?

Porque o agente vai clicar, digitar e navegar de verdade

Antes de dar acesso a qualquer conta real, rode o navegador numa sandbox (via Browserbase, E2B ou Daytona, por exemplo)

E lembra: se você configurar o callback de aprovação pra aprovar tudo (como no quickstart do Browser Use, com confirm=lambda _: True), ligar isso na sua máquina com sessão logada em tudo é pedir pra se ferrar: ainda mais com Bash no meio, que fica fora da confirmação do navegador

Próximo passo

Com as classes beta, o trabalho de quem monta agente muda: sai escrever o loop, entra escolher o driver e definir os limites

O próximo passo concreto é rodar o quickstart computer-toolset ou o exemplo do Browser Use com uma tarefa simples, ler as mensagens impressas e conferir cada ação

Só depois disso vale migrar pra sandbox e tarefas reais

E não esquece: as classes do SDK estão em beta, então nomes e comportamentos podem mudar, fica de olho na documentação oficial

Até o próximo post! 😀

Perguntas frequentes

O Haiku 5.5 funciona com computer use no SDK do Claude?

Funciona, mas só pelo toolset novo: o parâmetro antigo computer_20250124 retorna erro 400 pra esse modelo. Tanto na Claude API quanto no Google Cloud, o computer use do Haiku 5.5 exige o toolset computer_toolset_20260801.

Dá pra usar computer use no SDK do Claude sem escrever um driver do zero?

Dá sim. Existem drivers prontos do Browser Use, Browserbase, E2B e Daytona, então você só pluga um desses em vez de herdar a classe abstrata e implementar navigate, screenshot e left_click na mão.

Qual a diferença de quantidade de ferramentas entre browser use e computer use no SDK do Claude?

O browser toolset entrega 27 ferramentas membro por padrão, com mais quatro quando habilitadas, e está em disponibilidade geral desde 19 de agosto de 2026. O computer toolset entrega 17 ferramentas membro, como screenshot, left_click, type e zoom, e também é GA desde a mesma data. O que é beta, lançado em 7 de outubro, são as classes novas dos SDKs Python e TypeScript que automatizam o loop de ações desses dois toolsets, não os toolsets em si.

O computer use no SDK do Claude pede aprovação antes de cada ação?

Depende de como você configura o callback confirm que o SDK consulta antes de cada chamada de ferramenta: essa decisão é sua. O quickstart do Browser Use, por exemplo, usa confirm=lambda _: True pra aprovar as 31 ações de navegador mais o Bash sem perguntar nada, mas isso é uma escolha do exemplo, não um padrão da integração: sem essa configuração, o BrowserUse() padrão já vem com 27 ações ligadas e outras quatro desligadas.

Quanto custa rodar o Haiku 5.5 num agente de computer use no SDK do Claude?

Com prompt abaixo de 100K tokens, o Haiku 5.5 cobra US$ 0,10 por 1M tokens de entrada e US$ 0,50 de saída. Acima de 100K o preço sobe pra US$ 0,50 de entrada e US$ 2,50 de saída, um aumento de 5x, e vale lembrar que no esforço máximo ele gasta cerca de 162k tokens de saída por tarefa, cerca de 3x mais que o GPT-6 Luna, então ajuste o effort pra tarefas simples.

Onde encontro um exemplo oficial pra testar computer use no SDK do Claude?

A Anthropic mantém o quickstart em anthropics/claude-quickstarts, na pasta computer-toolset. O run.py monta o driver de exemplo e passa pro tool runner, enquanto o vnc_computer.py é a subclasse do toolset abstrato que já implementa dez das ferramentas.



Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares