Back to zerosuite
zerosuite

El navegador en manos de Claude: manejar el propio Chrome del CEO

Claude-in-Chrome permite que una sesión de Claude Code maneje el navegador real del director — mismo perfil, mismas sesiones abiertas. Qué hace la herramienta en realidad, por qué es mejor que pedirle a una persona que haga clic y lo cuente, y dónde el humano sigue ganando. Anclado en el día en que Claude recorrió un alta de cliente completa en la consola de producción de senndo, con mensajes facturados incluidos.

Juste A. Gnimavo (Thales) & Claude | August 18, 2026 9 min zerosuite
EN/ FR/ ES
claude-in-chromebrowser-automationclaude-codeclaude-fable-5senndoprod-cutovermcpaccessibility-treescreenshotshuman-in-the-loophowtocpaase2e-verification

Por Thales (CEO, ZeroSuite) y Claude Fable 5 — instancia de Claude Code

El 18 de agosto de 2026, hacia las 3 de la madrugada, hora de Abiyán, el CEO de ZeroSuite creó una cuenta nueva en la consola de producción de senndo con una identidad recién estrenada de Google Workspace, y escribió una sola línea en la sesión de Claude Code que llevaba la reconciliación del paso a producción: «nouveau compte, [email protected]» — y una captura de pantalla. A partir de ese momento, el humano no volvió a hacer clic en nada. Claude abrió su propia pestaña en console.senndo.com, aterrizó dentro de la misma sesión autenticada (mismo perfil de Chrome, mismas cookies), descartó la ventana de bienvenida, rellenó el campo de destinatario con el número de teléfono del CEO, envió un SMS real que debitó 0,029677 EUR del crédito de prueba de la cuenta, cambió de canal, eligió la plantilla gestionada de WhatsApp hello_world del WABA de plataforma compartido, y también la envió — 0,059355 EUR, debitados, entregados. El teléfono del CEO vibró dos veces. Esa fue toda su contribución a la prueba.

La herramienta que hace esto posible se llama claude-in-chrome, y esta guía explica qué es, para qué sirve realmente, y por qué «Claude mira la pantalla» suele ser mejor — y no solo más rápido — que «el CEO mira la pantalla».


Parte 1 — Qué es la herramienta en realidad

Claude-in-Chrome es un puente MCP (Model Context Protocol) entre una sesión de Claude Code y el navegador Chrome real, ya abierto, del usuario. No es un navegador headless ni una marioneta en un entorno aislado con un perfil vacío: es el mismo Chrome que el usuario está mirando, con sus extensiones, sus cookies y sus sesiones autenticadas. Una extensión de Chrome expone un conjunto de herramientas que el modelo puede invocar:

  • tabs_context / tabs_create — ver qué pestañas existen y abrir la suya propia en un grupo de pestañas dedicado (no secuestra las pestañas del usuario; trabaja en su propio carril, dentro del mismo navegador).
  • navigate — ir a una URL.
  • computer — las manos: hacer clic, escribir, desplazar, pulsar teclas y, sobre todo, capturar la pantalla. Cada captura vuelve al contexto del modelo como una imagen que lee igual que cualquier otra.
  • read_page — la parte sin equivalente humano: volcar el árbol de accesibilidad de la página. Donde un humano ve un desplegable, Claude ve combobox "Modèle WhatsApp" con sus ocho opciones y sus UUID, incluidas las que no están renderizadas en pantalla.
  • find — búsqueda semántica de elementos: «el botón Confirmar y enviar» devuelve una referencia estable (ref_305) que se puede pulsar directamente, mucho más fiable que unas coordenadas en píxeles sobre una página que acaba de volver a renderizarse.
  • form_input — fijar el valor de un campo directamente a través del DOM, esquivando la fragilidad del clic-y-escribe en un formulario React o Svelte.
  • browser_batch — encadenar varias de las anteriores en una sola ida y vuelta: clic, espera, captura, en ese orden, deteniéndose en el primer error.

El modelo de permisos importa: la extensión solo actúa sobre los sitios que el usuario ha autorizado, y el arnés impone además reglas duras — Claude nunca escribe contraseñas ni números de tarjeta, nunca resuelve CAPTCHA, nunca acepta una concesión de OAuth. El alta en sí (un inicio de sesión de Google) la hizo el humano, precisamente porque ahí está la frontera. Todo lo posterior a la existencia de la cookie de sesión quedaba dentro del terreno de juego.

Parte 2 — Qué sustituyó, en concreto

Antes de esta herramienta, el bucle para «comprobar que la pantalla hace lo correcto» era así: Claude escribe qué probar → el CEO abre Chrome, hace clic, entorna los ojos y escribe de vuelta lo que vio → Claude repregunta por el único detalle que el informe no mencionaba → vuelta a empezar. Cada iteración cuesta minutos del recurso más caro de la empresa (la atención del fundador), y el informe pierde información: un humano que resume una pantalla anota lo que esperaba ver, no todo lo que había.

Con claude-in-chrome, el bucle se reduce a: Claude maneja, Claude mira, Claude informa — y el humano solo interviene donde la realidad lo exige de verdad: recibir el mensaje en un teléfono físico, escanear un código QR con WhatsApp, leer un correo de confirmación. Durante la sesión de paso a producción de senndo, el reparto de tareas fue exactamente así de limpio. Claude condujo entero el recorrido del cliente por la consola; el teléfono del CEO fue el instrumento de medida.

Tres propiedades hacen que la versión conducida por la máquina sea mejor, y no solo más barata:

1. Lee un estado que el humano no lee. La captura de pantalla es solo la mitad de la entrada. En el compositor de WhatsApp Cloud, read_page devolvió la lista completa de plantillas del WABA de plataforma compartido — ocho plantillas gestionadas con sus UUID internos — antes de abrir ningún desplegable. Así supo Claude que hello_world · en_US no tenía variables (la candidata más segura para un envío real) sin recurrir al ensayo y error.

2. Se fija en lo que el ojo del usuario se salta. En la pestaña de WhatsApp Twilio de ese mismo compositor, la vista previa en maqueta de teléfono, a la derecha de la pantalla, mostraba la maqueta de llamada Voice — «Appel vocal · TTS», con un icono de teléfono — en lugar de una burbuja de WhatsApp.

!El compositor de envío rápido de senndo en la pestaña de WhatsApp Twilio, capturado por Claude mediante claude-in-chrome durante la sesión de paso a producción: número emisor +16026000302 bloqueado en solo lectura, un destinatario válido deducido como CIV, el campo ContentSid de la plantilla aprobada a la espera — y a la derecha, la maqueta de teléfono renderizando la vista previa Voice «Appel vocal · TTS» en vez de una burbuja de WhatsApp, el detalle que nadie había visto pese a la revisión, las gates y un envío real El canal se había publicado el día anterior, había pasado por revisión, por las gates y por un envío real hecho por el propio CEO en esa misma pantalla; nadie había registrado la vista previa equivocada. Claude lo señaló de pasada, a mitad del recorrido, porque para un modelo cada píxel de la captura pesa lo mismo: no tiene ninguna expectativa que le impida ver. (El defecto se derivó, no se corrigió en el acto; una sesión de reconciliación no se convierte en una sesión de corrección.)

3. Su informe lleva pruebas, no impresiones. El registro de sesión del paso a producción no dice «el envío de SMS funciona». Dice: banner verde 1 message(s) envoyé(s) · débité 0,029677 EUR, emisor bloqueado en el OTP Auth compartido, país deducido como CIV 1 a partir del número solo, estimación de coste 1 × 1 × 0,029677 EUR mostrada antes del diálogo de confirmación que advierte de que el cargo es inmediato. Cada uno de esos detalles corresponde a un caso de la lista de verificación de PROD-CUTOVER.md — y un caso marcado en ese fichero exige exactamente esto: algo hecho y observado, con fecha, nunca una creencia.

Parte 3 — Los límites honestos

La herramienta no es magia, y fingir lo contrario sería el tipo de mentira que esta serie existe para evitar.

  • Las coordenadas en píxeles caducan. Dos veces en la sesión, un clic con las coordenadas de la captura anterior no acertó nada porque la página se había recolocado (un modal cerrado, la ventana redimensionada). El remedio es disciplina, no suerte: pulsar por ref obtenido de find o read_page siempre que el objetivo importe, y considerar las coordenadas válidas solo dentro del lote que tomó la captura.
  • Los controles nativos se resisten al clic. El desplegable de plantillas no se abrió nunca con un clic; form_input lo fijó en una sola llamada. Saber qué herramienta encaja con qué control es justo el oficio que se acumula en una guía como esta.
  • Las acciones reales son reales. El diálogo de confirmación de senndo lo dice sin rodeos: «Le débit est immédiat et un message parti ne se rappelle pas.» La herramienta pulsará ese botón sin dudar. Si esta sesión pudo hacerlo sin una pausa en cada envío es porque el humano había encargado el recorrido de forma explícita, había elegido el número de destino (el suyo) y estaba allí recibiendo los mensajes. La autorización se dio por misión, por adelantado, con el humano como testigo físico — esa es la forma que hay que copiar.
  • La identidad sigue siendo del humano. Inicios de sesión, OAuth, pagos, CAPTCHA: la frontera es absoluta, y es una virtud. El día en que el CEO escribió su contraseña de Google fue el día en que Claude, por diseño, miraba hacia otro lado.

Parte 4 — Cuándo echar mano de ella

El patrón que se ha ganado su sitio en los proyectos de ZeroSuite: recurrir a claude-in-chrome cuando la verdad vive en una pantalla renderizada y el coste de que un humano la informe supera al coste de que el modelo la mire. En concreto:

  • Conducir un recorrido de usuario de principio a fin contra producción, cosechando pruebas en cada paso (esta sesión).
  • Verificar que un cambio de interfaz ya publicado se renderiza de verdad — en vez de preguntarle al usuario «¿se ve bien en tu máquina?».
  • Reproducir un fallo que el usuario describe de forma vaga: el modelo sostiene cuarenta capturas en contexto sin fatiga; el usuario no sostiene cuarenta pestañas.
  • Leer consolas y paneles de servicios de terceros a los que la sesión no llega por API, con la bendición del usuario y su sesión ya abierta.

Y el antipatrón, igual de ganado: no usarla como sustituto de las gates automatizadas del propio proyecto. Para eso senndo tiene make e2e, Playwright y un verificador responsive sin dependencias. El navegador en manos de Claude es para los casos en que la pantalla que importa es la de producción, en el navegador del usuario, detrás de la sesión real del usuario — el sitio exacto al que ningún arnés de CI puede llegar.


Sesión de referencia: reconciliación del paso a producción de senndo.com, 2026-08-18 — dos canales probados en real desde una cuenta de cliente recién creada antes de redactar este artículo, y otros cuatro esperando a que el CEO vuelva de prepararse un té.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

El segfault que no era nuestro: cómo lanzamos el tracking del día de lanzamiento de Déblo en la noche del despliegue — analítica condicionada por entorno, atribución nativa de las tiendas, tres bugs que el compilador no podía ver y un build sin memoria que diagnosticamos en lugar de revertir

El 1 de julio de 2026 — el día del lanzamiento — el riesgo nunca fue el texto. Era que las campañas de pago salieran a ciegas. Este es el build-log de cómo desplegamos la analítica y la atribución de instalaciones de Déblo como código en la noche del lanzamiento: etiquetas GA4, Meta y LinkedIn condicionadas por entorno que se despliegan sin riesgo antes de que existan las cuentas publicitarias; atribución enrutada por los canales nativos de las tiendas en lugar del pixel web; una auditoría adversarial que atrapó tres bugs que tanto el typechecker como el build dieron por buenos; y un despliegue en Easypanel que hizo segfault en el primer build — que demostramos que no era nuestro código antes de tocar una sola línea.

18 min Jul 1, 2026
deblolaunch-dayclaude-opus-4.8claude-code +26
Thales & Claude thales

Trece agentes, cuarenta y tres minutos: la primera sesión Workflow de Claude Fable 5, y lo que un script de orquestación determinista cambia en los builds multiagente

Un prompt, trece agentes, cuarenta y tres minutos: la primera sesión de producción con Claude Fable 5 y la herramienta Workflow de Claude Code entregó un sitio web de producción completo de siete páginas más un endpoint backend de captura de leads, en un solo commit. La bitácora: el script de orquestación determinista, el patrón de inyección de contrato entre fases, la economía por agente del fan-out paralelo, y el suspenso del límite de sesión que el diario de reanudación convirtió en un no-evento.

23 min Jun 12, 2026
claude-fable-5claude-codeworkflow-toolmulti-agent +10
Thales & Claude casp

La puerta detectó su propia deriva: un día dentro de CASP con Claude Fable 5

Le entregamos al modelo Claude más autónomo hasta la fecha las llaves de CASP — la CLI open source que mantiene honestos a los agentes de código IA frente a git — con la autoridad de rechazar nuestra propia roadmap. Rechazó cinco cosas, encontró dos bugs reales en el validador al hacerle dogfooding, los corrigió bajo una puerta de dos auditores, y dejó casp check completamente en verde sobre su propio repositorio por primera vez. CASP 0.3.0 es el resultado.

15 min Jun 10, 2026
caspzerosuiteworkflowai-cto +9