MCP com Chrome: Automação com IA · Capítulo 6 de 16 · 31 min
Onde termina a leitura e começa a consequência
Saber qual chamada muda estado evita os dois extremos: aprovar tudo por reflexo ou desistir da automação a cada interrupção.
Este capítulo faz parte do curso gratuito MCP com Chrome: Automação com IA.
O que é: a regra que decide quando o assistente para para pedir a sua aprovação. Ele para quando a ação muda estado (clicar, digitar, navegar, salvar em disco) e segue direto quando apenas lê a página. Por que importa: aprovação demais vira carimbo automático, e a pessoa passa a aprovar sem ler; aprovação de menos leva a desligar o gate e rodar tudo liberado. Os dois extremos anulam a única defesa que separa uma leitura inofensiva de uma ação com consequência real. A sua decisão: exigir que todo pedido de aprovação mostre a ação, o alvo e o domínio, e definir por sensibilidade da tarefa qual modo de permissão vale em cada caso. O que delegar: o desenho da rotina que agrupa as leituras e concentra as escritas em poucos portões nomeados. O passo a passo para operar vem logo abaixo.
Glossário rápido
Escrita (ação que deixa marca)
Qualquer chamada que altera algo e continua diferente depois que o agente devolve o controle: clicar, digitar, navegar, gerenciar abas, gravar GIF ou salvar em disco. É o oposto de leitura, que observa a página e termina sem mudar nada. O lado da linha se decide por uma pergunta só: a ação deixa marca?
Gate humano
O ponto em que a ação para e espera o seu aval. Só tem valor de defesa quando é raro e informativo: um portão que aparece vinte vezes por hora vira reflexo, e um que não mostra o domínio esconde justamente onde mora o ataque.
Existem dois jeitos de estragar a mesma automação (rotina que o agente executa sozinho, como piloto automático), e eles parecem opostos. No primeiro, o agente (o assistente de IA que opera o navegador por você) interrompe o trabalho a cada passo, você aprova sem ler na quinta vez e, na décima quinta, já clica em Aprovar antes mesmo de o texto terminar de aparecer. O gate humano continua lá, só que não defende mais nada. No segundo, a pessoa se cansa da interrupção, desliga o que der para desligar e passa a rodar tudo liberado, torcendo para dar certo.
Os dois extremos nascem da mesma lacuna: ninguém ensinou qual chamada muda estado. Sem essa distinção, toda parada parece arbitrária, e uma parada arbitrária ou é ignorada ou é eliminada. Quando você sabe onde fica a linha, a rotina passa a ser desenhada em torno dela, e as poucas aprovações que sobram voltam a significar alguma coisa.
A pergunta que resolve o módulo inteiro é essa chamada deixa alguma marca depois que ela termina?, e o quanto a chamada parece perigosa fica em segundo plano. Ler a página não deixa. Clicar deixa. Salvar a captura em disco deixa. Esse critério, acima da sensação de risco, decide se vai haver prompt de permissão.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
O que roda sem pedir nada
Em plan mode, as chamadas somente leitura passam direto, sem prompt de permissão: ler a página (read_page), extrair o texto (get_page_text), localizar um elemento (find), ler as mensagens de console, ler as requisições de rede e tirar uma captura de tela. Todas essas observam a página e terminam sem alterar coisa alguma no navegador.
SEM PROMPT (leitura) COM PROMPT (muda estado) --------------------------- ---------------------------- read_page clicar get_page_text digitar find navegar ler mensagens de console gerenciar abas e janelas ler requisições de rede gravar GIF tirar captura de tela PROMOVIDAS DE LEITURA PARA ESCRITA (a partir da v2.1.199) --------------------------------------------------------- tabs_context_mcp + createIfEmpty ....... vira escrita leitor de console/rede + clear ............... vira escrita captura de tela + save_to_disk ........ vira escrita browser_batch: só roda sem prompt quando TODAS as ações internas são de leitura
Do outro lado da linha ficam as chamadas que deixam marca: cliques, digitação, navegação, gestão de abas e janelas e gravação de GIF. Todas elas pedem aprovação, porque todas mudam alguma coisa que continua diferente depois que o agente devolve o controle.
A parte que mais confunde: a partir da versão 2.1.199 do Claude Code, uma chamada nominalmente de leitura passa a pedir aprovação quando você ativa nela um parâmetro de escrita. Os três casos documentados são createIfEmpty em tabs_context_mcp (que cria uma aba se não houver nenhuma), clear nos leitores de console e de rede (que apaga o log) e save_to_disk na captura de tela (que grava arquivo). Se a sua rotina para em um ponto que você jurava ser leitura pura, procure o parâmetro antes de procurar o bug.
O mesmo critério vale para lotes. Um browser_batch só roda sem prompt quando todas as ações internas são de leitura. Basta uma escrita no meio para o lote inteiro virar uma ação que exige aprovação, o que é o comportamento certo: aprovar um lote é aprovar tudo que está dentro dele, e você precisa saber disso antes de clicar.
# 1. Abra a sessão com as ferramentas de browser carregadas sob demanda.
# Sem a flag, elas não ficam disponíveis; habilitadas por padrão, comem contexto o tempo todo.
claude --chrome
# 2. Já dentro da sessão, confira o estado da ponte com a extensão.
# Mostra status, permissões, opção de reconectar e qual browser está em uso.
/chrome
# 3. Liste as ferramentas que a integração expõe nesta versão da extensão.
# A entrada aparece com o nome claude-in-chrome.
/mcp
# Nota: a lista de ferramentas muda entre versões da extensão.
# Confira nesta tela em vez de confiar na lista de um tutorial antigo.A rotina ingênua, e a previsão antes de rodar
Agora o exercício. Abaixo está uma rotina de auditoria escrita do jeito que sai naturalmente, na ordem em que a pessoa pensa. Antes de rodar, leia e aponte com o dedo em quais passos exatos ela vai parar. Prever é a parte que ensina; rodar só confirma.
A previsão correta aponta cinco passos que param: passo 2 (clique), passo 4 (clear no leitor de console), passo 5 (navegação), passo 6 (save_to_disk na captura) e passo 7, que junta navegação e abertura de aba e por isso pode render duas aprovações em vez de uma. O passo 8 não para, porque é leitura pura. Repare que os passos 1, 3 e 8 nunca param, e que duas das paradas, a 4 e a 6, existem por causa de um parâmetro, não da ferramenta em si.
1 captura da dobra ............................. segue 2 clique em "Aceitar cookies" .................. PARA (escrita) 3 ler console .................................. segue 4 limpar log de console ........................ PARA (clear) 5 navegar para /precos ......................... PARA (navegação) 6 captura salva em disco ....................... PARA (save_to_disk) 7 voltar + abrir aba nova ...................... PARA (navegação + abas) 8 extrair texto ................................ segue total previsto: 5 passos param, em 8 passos (o passo 7 junta navegação e abertura de aba: pode render 2 aprovações)
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
O ganho veio de tirar da rotina três escritas que ninguém precisava, com o gate intacto: limpar o log (basta guardar o que já foi lido), abrir aba nova (a mesma aba serve) e enviar o formulário (teste de escrita em produção, fora do escopo de uma auditoria). O que sobrou de escrita continua passando por aprovação, uma por uma.
<!-- .claude/commands/auditar-com-portoes.md => invocado por /auditar-com-portoes exemplo.com.br -->
---
description: Audita um dominio agrupando leituras e concentrando as escritas em tres portoes nomeados
---
Audite o dominio $ARGUMENTS na ordem abaixo. Cada portao deve declarar, na propria
solicitacao de aprovacao, QUAL acao sera executada e EM QUE DOMINIO.
FASE 1 (somente leitura, nao pare): captura da dobra sem salvar em disco, texto da
pagina, localizacao do banner de consentimento, mensagens de console e requisicoes de
rede. Nao use o parametro de limpar log em nenhuma leitura.
PORTAO 1 (escrita): clicar no botao de aceite do banner de consentimento.
FASE 2 (somente leitura, nao pare): repita captura e leitura de console sem o banner.
PORTAO 2 (escrita): navegar pelas rotas listadas, reaproveitando a mesma aba.
FASE 3 (somente leitura, nao pare): texto, console e rede em cada rota.
PORTAO 3 (escrita): salvar as capturas em ./auditoria.
Ao terminar, reporte: quantas aprovacoes foram pedidas e em qual passo cada uma caiu.
Se alguma leitura tiver pedido aprovacao, diga qual parametro causou isso.Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Use o domínio como campo de leitura obrigatória. Boa parte do estrago que um agente sequestrado consegue fazer aparece justamente ali: a ação pedida parece plausível, mas o domínio não é o que você está auditando. Se o pedido de aprovação não mostra o domínio, ele não está te dando a informação que mais importa.
Quem controla se esses portões chegam a aparecer é um ajuste da própria extensão Claude in Chrome, com três modos que vão do mais cauteloso ao mais arriscado. Em Manually Approve, cada ação para e espera o seu aval, uma por uma. Em Automatically Approve, o Claude age sem pedir a cada passo, mas continua avaliando cada ação e bloqueia sozinho o que julgar inseguro. Em Skip All Approvals não há checagem nenhuma, e ele só se justifica quando a confiança no alvo é total, o que praticamente nunca ocorre fora de um laboratório fechado. Ainda assim, três classes de ação ficam de fora de qualquer automação: baixar arquivos, inserir dados sensíveis e conceder autorizações continuam pedindo confirmação mesmo depois de você conceder permissão persistente ao site, e não há como dispensar esse pedido por configuração.
MODO O QUE ELE FAZ ---------------------- ------------------------------------------ Manually Approve cada ação para e espera o seu aval Automatically Approve Claude age, mas avalia e bloqueia o inseguro Skip All Approvals sem checagem; só com confiança total no alvo SEMPRE PROTEGIDO (mesmo com permissão persistente concedida ao site) -------------------------------------------------------------------- download de arquivo inserir dados sensíveis conceder autorizações Esses três nunca rodam no automático: pedem confirmação sempre.
Os limites que não são falha técnica
Parte do que o Claude in Chrome recusa não tem nada a ver com a fronteira de permissões. São decisões de produto da Anthropic, tomadas antes de qualquer prompt seu, e insistir contra elas só produz frustração. Conheça a lista para não gastar uma tarde culpando o modelo por uma recusa que estava documentada.
Bloqueado por decisão de produto: acesso a sites de conteúdo adulto e a sites conhecidos de conteúdo pirata. Exige permissão explícita: sites financeiros. Proibido: negociar ações ou fazer transações de investimento, burlar CAPTCHAs, inserir dados sensíveis e coletar ou raspar imagens faciais. Fortemente desaconselhado pela própria Anthropic: gerir contas financeiras, lidar com documentos jurídicos ou contratos, processar informação médica, acessar contas corporativas com dados sensíveis e interagir com sites que contenham dados pessoais de terceiros. O recurso também não está disponível para organizações cobertas por HIPAA.
Duas heranças do módulo 5 mudam o desenho da rotina aqui; releia-as antes de decidir onde ficam os portões: as permissões de site vêm da extensão do Chrome, sem controle paralelo no CLI; e uma regra que nega Read também bloqueia o upload de arquivo para a página. Nenhuma das duas se manifesta como pedido de aprovação, o que faz o diagnóstico demorar mais do que deveria.
Três erros que aparecem sempre nesta etapa. Aprovar em lote sem olhar o conteúdo do lote: um browser_batch misto é uma aprovação só para várias ações. Chamar de leitura o que carrega parâmetro de escrita: clear e save_to_disk mudam estado, e o prompt está certo em aparecer. Reduzir aprovações desligando o gate: se o número caiu e nenhuma escrita saiu da rotina, você não otimizou nada, apenas terceirizou o risco para a sorte.
Escreva agora as duas versões da mesma rotina de auditoria de um site que você conhece. Antes de rodar, anote em qual chamada exata a versão ingênua vai parar e quantas paradas você espera. Rode as duas, conte as aprovações de verdade e compare com a sua previsão. Onde errar, identifique se foi por não reconhecer uma escrita ou por não ver um parâmetro que promoveu uma leitura. Depois, reescreva cada portão da versão organizada até que nenhum deles diga apenas "continuar": todos precisam nomear a ação e o domínio.
Guia prático: configurar as permissões da extensão para auditar uma campanha
Os três modos ganharam nomes novos na documentação da Anthropic: Manually approve (antes "Ask before acting"), Automatically approve e Skip all approvals (antes "Act without asking"). Tutorial com os nomes antigos foi escrito antes da mudança. O cenário abaixo é o de uma analista que precisa conferir a landing da campanha e ler o GA4 do cliente, sem dar ao agente alcance sobre o resto do navegador.

Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Permissões por site para uma auditoria de landing e GA4
Seis passos. A meta é o agente agir livre só no domínio da landing e pedir licença em todo o resto.
Passo 1: Comece a sessão em Manually approve, no seletor da caixa de mensagem
No painel clássico, o agente apresenta um plano com os sites que pretende usar; no painel em modo Cowork, ele pergunta ação por ação, com as opções Allow all for this website, Allow this time only e Deny.
Deu certo quando: O primeiro pedido mostra o domínio da landing e nenhum outro.
Erro comum: Aprovar um plano que lista um domínio que você não pediu. Clique em Make changes e refaça o pedido.
Passo 2: No domínio da landing, escolha Always allow actions on this site
É o site que você controla e onde clicar não custa dinheiro. A permissão permanente vale só para ele.
Deu certo quando: As próximas ações na landing seguem sem parar.
Erro comum: Dar permissão permanente ao domínio do GA4 ou do gerenciador de anúncios. Lá, Allow this action, uma de cada vez.
Passo 3: Saiba o que continua pedindo licença mesmo com permissão permanente
Baixar arquivo, digitar informação potencialmente sensível, conceder autorizações e mexer em permissões de site sempre param. Comprar, criar conta, apagar de forma definitiva e seguir instruções vindas de e-mail ou página estão proibidos em qualquer modo.
Deu certo quando: O agente para ao tentar exportar o relatório em CSV, e você decide.
Erro comum: Interpretar a parada no download como defeito e trocar para Skip all approvals para "destravar" a tarefa.
Passo 4: Revise a lista em Extension settings, página Permissions, seção Your approved sites
O caminho é o ícone da extensão, o menu de três pontos do painel e Extension settings. Ali dá para revogar site por site e ver o histórico de permissões.
Deu certo quando: A lista tem só os domínios que você aprovou de propósito nesta semana.
Erro comum: Deixar acumular sites aprovados de clientes antigos. Revogue ao fim de cada projeto.
Passo 5: Se a empresa é Team ou Enterprise, peça ao administrador uma allowlist restritiva
A lista de sites permitidos e bloqueados da organização vale ao mesmo tempo para a extensão e para o navegador embutido do Cowork, e prevalece sobre a permissão individual.
Deu certo quando: Um site fora da lista mostra o aviso de bloqueio pela política da organização.
Erro comum: Supor que a lista de bloqueio padrão da Anthropic cobre os domínios sensíveis do seu cliente. Ela cobre categorias genéricas, não o seu contexto.
Passo 6: No Claude Code em auto mode, escreva regra de negação para os sites que nunca podem ser tocados
Quando o classificador do auto mode aprova uma chamada de navegador, a extensão dispensa a própria checagem por site, exceto se as suas regras de permissão negarem algum site ao Claude in Chrome.
Deu certo quando: Uma tentativa de abrir o domínio negado é recusada mesmo em auto mode.
Erro comum: Confiar só na lista da extensão quando o Claude Code roda em auto mode.
No fim você tem: Uma sessão em que a landing anda sozinha, as telas do cliente pedem licença a cada ação e a lista de sites aprovados cabe numa linha.

Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Automatically approve consome mais do limite de uso que os outros modos, porque cada ação passa por uma checagem extra de segurança antes de rodar. Para tarefa longa de leitura em site próprio, o custo compensa; para tarefa curta em conta de cliente, Manually approve sai mais barato e mais claro.
Separar a permissão do agente da autorização no serviço
Considere uma extensão hipotética da auditoria desta aula: além de ler a landing page, o agente precisa consultar métricas por uma API. Aprovar a tarefa no navegador não concede, por si só, acesso à API. Essa consulta depende da credencial e das permissões que o serviço reconhece. O inverso também vale: um token com permissão de escrita não expressa uma decisão sua de publicar uma alteração nesta tarefa.
OAuth 2.0 trata dessa autorização de acesso a recursos, conforme o [RFC 6749](https://www.rfc-editor.org/rfc/rfc6749), consultado em 02/10/2026. Para a consulta de métricas, escolha o escopo de leitura quando o provedor o oferece e confira como revogar a autorização. A aula Aplicar escopos e menor privilégio mostra como traduzir uma tarefa em permissões.
Acrescente duas linhas ao plano da auditoria: a ação que você autorizou o agente a executar e o acesso que o provedor concedeu à integração. Se um deles for mais amplo que a tarefa, ajuste antes da execução. O exercício termina quando você consegue explicar e verificar ambos, sem tratar a aprovação de uma ação como substituta da configuração do serviço.
Você conclui este módulo quando: (1) sua previsão de onde a rotina ingênua para bate com o comportamento observado, chamada por chamada; (2) a versão reorganizada gera comprovadamente menos aprovações que a ingênua, e você consegue apontar quais escritas foram removidas da rotina, e não quais gates foram desligados; (3) nenhuma escrita foi liberada por atalho, agrupamento oportunista ou lote misto aprovado sem inspeção; (4) nenhum dos seus pontos de aprovação diz apenas "continuar": cada um nomeia a ação, o alvo e o domínio.
Onde ficam os portões de aprovação é decisão de desenho, tomada uma vez e escrita. Cabe a você definir a política: quais tarefas rodam em aprovação manual, quais podem usar o modo automático, e nunca abrir mão de que cada pedido mostre ação, alvo e domínio antes do clique. Um gate que aparece vinte vezes por hora não protege ninguém; um gate raro e informativo é a diferença entre recusar com conhecimento de causa e carimbar no automático.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- Veja o que o Claude Code faz antes de instalarsugerido pelo grafoApresenta o conceito “Claude Code”, usado em “Onde termina a leitura e começa a consequência”.
- CursoMCP para quem decidesugerido pelo grafo7 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “MCP para quem decide”.
- CursoNode.js: JavaScript no Servidorsugerido pelo grafo3 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “Node.js: JavaScript no Servidor”.
- CursoSetup Completo: do zero ao Claude Codesugerido pelo grafo3 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “Setup Completo: do zero ao Claude Code”.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- Frontends com VibecodingDirigir o prompt e avaliar a entrega do agenteExaminar conexões de Dirigir o prompt e avaliar a entrega do agente
- MCP para quem decideMedir o grau de poder de cada servidorExaminar conexões de Medir o grau de poder de cada servidor
- RLM 2027Governar o agente contínuo com portões, orçamento, interruptor e relatório de plantãoExaminar conexões de Governar o agente contínuo com portões, orçamento, interruptor e relatório de plantão
- Claude Code CLI: Programação com IADeixar a caixa de entrada e a agenda no piloto automáticoExaminar conexões de Deixar a caixa de entrada e a agenda no piloto automático
Voltar ao capítulo anterior: Instalar a extensão no seu Chrome e religar quando ela cair
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.