TL;DR Claude Code detecta la extensión de Chrome y te ofrece usar tu navegador por defecto. El botón que viene marcado es el No. Si dices que sí, lo que pasa a partir de ahí lo decide tu modo de permisos: en Auto un clasificador aprueba lo rutinario por ti, y en Don't Ask las acciones que necesitarían aprobación se saltan en vez de preguntarte.
Conectar Claude Code con tu Chrome es un sí de un segundo, y el diálogo que te lo pide te dice exactamente lo que va a pasar después. El problema es que esa frase cambia según el modo en el que estés cuando lo lees, y la versión más silenciosa es la que menos esperas.
El diálogo que aparece sin que lo pidas
Si tienes la extensión instalada y todavía no has decidido nada, Claude Code no espera a que escribas /chrome. Te lo ofrece:
╭─ Claude in Chrome extension detected ──────────────────────────╮
│ │
│ Claude will use your Chrome browser by default — navigating │
│ sites, filling forms, and capturing screenshots in your │
│ existing session. │
│ │
│ Browser actions still go through Claude's regular permission │
│ prompts before they run. Turn browser tools off for future │
│ sessions with /chrome. │
│ │
│ ❯ No, keep browser tools off │
│ Yes, use my browser │
│ │
╰────────────────────────────────────────────────────────────────╯
El texto es literal de la versión 2.1.266, leído del binario; el marco y la colocación los he dibujado yo, porque no puedo provocar el diálogo: mi ~/.claude.json ya lleva la respuesta guardada.
Tampoco le sale a todo el mundo. Claude Code se ahorra la oferta si la extensión no está presente en la máquina, si ya respondiste antes (aunque fuera en otra sesión), si tu organización lo bloquea por política (allow_claude_browser_extension o deniedMcpServers), o si el despliegue de la propia oferta todavía no te ha llegado. Si nunca lo has visto, no te falta nada: /chrome hace lo mismo cuando tú quieras.
Dos detalles del diálogo que dicen mucho. El primero es que la opción marcada por defecto es el No, no el sí: si le das a Enter sin leer, te quedas como estabas. El segundo es que "in your existing session" es literal. No abre un Chrome de laboratorio: usa el que tienes delante, con tus cookies, tus pestañas y tu Gmail ya abierto. Esa mitad, la de actuar como tú en Docs, Gmail o Notion sin conectar ninguna API, la tienes contada entera en la extensión de Chrome frente al MCP de DevTools, y el mapa de los tres navegadores posibles en cuál de los tres usar.
La línea del medio no siempre dice eso
El párrafo de en medio, el que habla de los permisos, no está escrito en piedra. Claude Code lo cambia según el modo en el que estás cuando te sale el diálogo, y son tres frases distintas:
- Modo normal: "Browser actions still go through Claude's regular permission prompts before they run."
- Auto: "This session is in Auto mode, so an AI classifier approves routine browser actions, you are only prompted when it is unsure."
- Don't Ask: "This session is in Don't Ask mode, so browser actions that need approval are skipped rather than prompted."
La tercera es la que conviene leer dos veces. En Don't Ask, la acción que necesitaría tu aprobación no se convierte en una pregunta: se salta. No hay prompt que atender y tampoco hay clic. Si estabas esperando que Claude rellenase ese formulario y no aparece, no es que se haya negado, es que el modo en el que estás dice que las cosas que requieren permiso no se hacen.
Y como el modo se cicla con Shift+Tab a mitad de tarea, el sí que diste el martes en modo normal se comporta distinto el jueves. Si no tienes claros los seis, aquí están todos.
Plan mode parte las herramientas en dos
En plan mode el diálogo te enseña la frase normal, la de los prompts. Pero ahí la frontera de verdad no es el modo, es la herramienta. Las llamadas que solo miran la página corren sin preguntar (read_page, get_page_text, find, leer la consola o la red, y hacer una captura). Las que cambian algo piden aprobación: clics, teclear, navegar, abrir o cerrar pestañas, grabar un GIF.
El matiz que se escapa: una llamada de lectura pasa a pedir permiso en cuanto le activas una opción que escribe, como save_to_disk en la captura, clear al leer consola o red, o createIfEmpty en el contexto de pestañas. Y un browser_batch solo corre sin prompt si todas las acciones de dentro son de lectura.
Dónde queda guardado tu sí
En ~/.claude.json, y son tres claves, no una:
{
"cachedChromeExtensionInstalled": true,
"claudeInChromeDefaultEnabled": true,
"hasCompletedClaudeInChromeOnboarding": true
}
claudeInChromeDefaultEnabled viene a false de fábrica y es la que manda. La puedes cambiar sin tocar el fichero desde /config, donde sale como Claude in Chrome enabled by default, o desde /chrome. El precio de dejarla puesta es contexto: las herramientas del navegador se cargan en todas las sesiones, y eso está avisado desde el principio en Claude Code y Chrome.
Qué sale de tu máquina y qué no
Merece la pena saberlo antes de darle acceso a un navegador donde tienes la sesión del banco abierta. Esto no es mío: es como Claude Code describe estas herramientas en la política de organización allow_claude_browser_extension, la que un administrador enciende o apaga. Las llamadas viajan por la conexión local de native messaging entre la app y la extensión, cifradas de extremo a extremo entre las dos. El contenido de las páginas no pasa por servidores de Anthropic. Lo que sí pasa es la dirección: la comprobación de seguridad de URLs de la extensión se queda encendida, así que la URL de cada página sobre la que actúa se contrasta contra la API de Anthropic.
Referencia
| Modo | Qué le pasa a una acción del navegador |
|---|---|
| Plan | Las lecturas van sin preguntar; lo que cambia estado pide aprobación |
| Normal | Prompt de permisos, como cualquier otra herramienta |
| Auto | Un clasificador aprueba lo rutinario; solo te pregunta cuando duda |
| Don't Ask | Las que necesitarían aprobación se saltan, no se te preguntan |
| Dónde | Qué haces ahí |
|---|---|
/chrome |
Estado de la conexión, reconectar la extensión, elegir navegador, encender o apagar el por defecto |
/config |
El interruptor Claude in Chrome enabled by default |
~/.claude.json |
claudeInChromeDefaultEnabled, que es donde acaba tu respuesta |
Documentación oficial: Use Claude Code with Chrome · Permission modes