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

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
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
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á

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →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.browsereclient.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), maisuv, 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-5como 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?
- 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
- 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
- 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
- Passe o toolset ao tool runner. O
client.beta.messages.tool_runner()recebemodel,max_tokens,toolsemessages
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
- 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 é:
- Configure a chave na
ANTHROPIC_API_KEY, igual no passo 2 lá de cima - Confira o SDK: precisa ser uma versão do SDK Anthropic com os helpers do computer toolset
- Valide o driver sem modelo: o
exercise.py(ouexercise.ts) roda o toolset sem modelo e sem precisar de chave de API - Rode o agente: o
run.py(ourun.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ê respondery
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:
- Limite de passos: o
max_iterationsdo tool runner encerra o loop quando atinge o número configurado, mesmo que o Claude ainda não tenha terminado - 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
LocalFilePolicyque 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

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.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
- Mensagens do modelo: o
run.py/run.tsdo quickstart imprime as mensagens do modelo, e é nelas que aparecem as chamadas de ferramenta e os resultados, passo a passo - Mensagem final: o
runner.until_done()entrega a resposta final do Claude, com o que ele encontrou na página - Estado da página: em driver próprio, o
_browser_stateé o relatório de estado que todo driver implementa - Teste sem precisar de chave de API: o
exercise.py/exercise.tsroda 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_20250124pra 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_tokensretorna erro 400 - Solução: remova o
budget_tokense controle o raciocínio pelo parâmetroeffort
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.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como instalar Claude Code: guia completo para iniciantes
Para instalar Claude Code, use o método indicado para seu sistema e depois execute claude. O instalador nativo dispensa Node.js. O acesso exige uma modalidade […]

Claude Sonnet 5.5 ou Opus 5.5: qual usar em cada tarefa do dia?
Sonnet 5.5 ou Opus 5.5? Veja como a Anthropic divide os papéis, os preços na API e uma regra prática pra escolher em cada tarefa do dia.

Claude Code Preço: quanto custa, planos Pro vs Max e API
Quanto custa? O Claude Code está incluído no Pro (US$ 20/mês ou US$ 200/ano) e no Max (US$ 100 ou US$ 200/mês). O plano Free […]
