Bigarrow: cómo hacer que Claude Code y Codex te señalen en pantalla dónde hacer clic (lo probamos en macOS)

bigarrow es una CLI para macOS con una skill para Claude Code y Codex que dibuja una flecha gigante y un cartel sobre el botón exacto que tienes que pulsar.

:white_check_mark: yoDEV Tested · 15 de octubre de 2026
Instalamos bigarrow con Homebrew en un Mac M5 Pro con macOS 27.0.1 y lo probamos desde la terminal y con Claude Code. Los resultados que reportamos como nuestros salen de esa prueba.

Si trabajas con Claude Code o Codex en un Mac y alguna vez volviste a la pantalla para descubrir que el agente llevaba veinte minutos esperando un clic que no sabías que necesitaba, esto es para ti. En lugar de escribir “por favor, haz clic en Permitir” en una terminal que no estás mirando, el agente apunta al botón. Sobre la ventana, con una flecha que no puedes pasar por alto.

Lo instalamos en un Mac y le preguntamos a Claude Code dónde activar la grabación de pantalla, sin mencionar bigarrow. El agente abrió solo el panel correcto de Ajustes del Sistema y puso una flecha sobre el botón.

¿Qué problema resuelve bigarrow?

bigarrow le da a tu agente de código una forma de señalar en la pantalla en vez de describir. Tu agente puede refactorizar un monorepo entero, pero cuando necesita que pulses un solo botón, lo único que sabe hacer es imprimir una instrucción en la terminal.

La herramienta dibuja una capa transparente a los clics: una flecha grande, un cartel con una frase completa y, si se pide, un recuadro alrededor del objetivo. Nunca te quita el foco, no necesita ningún permiso para dibujar y desaparece sola: a los 8 segundos por defecto con point, a los 300 con start, o cuando termina el proceso del agente que la dibujó. Nunca hace clic, nunca escribe y nunca captura nada. Solo señala.

Es un único binario en Swift, con licencia MIT, creado por Franz Enzenhofer. Al momento de publicar esta nota, la versión más reciente es la 0.4.6, etiquetada el 12 de octubre de 2026.

El autor enumera los casos para los que la diseñó: diálogos de permisos de macOS, pantallas de consentimiento OAuth, códigos 2FA, confirmaciones de pago y esos momentos de “¿cuál de estas 14 ventanas de Chrome?”. Todo lo que un agente no debe o no puede pulsar en tu nombre.

¿Basta con Xcode Command Line Tools para instalar bigarrow?

No, y esto es lo que la instalación de dos líneas del README no te cuenta. La fórmula de Homebrew no trae un binario precompilado: compila desde el código fuente en cada instalación y exige la app completa de Xcode, versión 16 o superior. Las Xcode Command Line Tools no alcanzan.

Nuestro primer intento, en un Mac que solo tenía las Command Line Tools, se detuvo aquí:

bigarrow: A full installation of Xcode.app 16.0 is required to compile
this software. Installing just the Command Line Tools is not sufficient.

En nuestra máquina de prueba, conseguir un Xcode actual implicó actualizar macOS primero. Entre la actualización del sistema y la descarga e instalación de Xcode se fueron 43 minutos. Con Xcode ya instalado, brew install tardó 1 minuto y 18 segundos en un M5 Pro, de los cuales la compilación en Swift fue 1 minuto y 4 segundos.

Si ya tienes Xcode 16 o superior, la instalación es rápida. Si no lo tienes, cuenta con ese tiempo.

¿Cómo se instala bigarrow en Mac para Claude Code y Codex?

Con dos comandos:

brew install franzenzenhofer/tap/bigarrow
bigarrow install-skill

install-skill copia la misma carpeta de la skill en dos lugares: ~/.claude/skills/big-arrow para Claude Code y ~/.agents/skills/big-arrow para Codex. Revisamos ambas: el mismo SKILL.md, el mismo reference.md y un agents/openai.yaml que Codex lee para su lista de skills. Es decir, una sola instalación te deja la skill en las Claude Code skills y en las Codex skills. El comando es idempotente y no sobrescribe archivos que hayas modificado salvo que pases --force.

Después, ejecuta:

bigarrow doctor

En nuestro Mac informó que dibujar no necesita permisos, que faltaban Accesibilidad y Grabación de pantalla y, lo más importante, que esos permisos pertenecen a iTerm2, no a bigarrow. También detectó las tres pantallas conectadas, incluida una ubicada en coordenadas negativas.

Hay un paso opcional que vale la pena. La skill documenta un hook de Claude Code que borra las flechas del agente en cuanto respondes. En ~/.claude/settings.json:

"hooks": {"UserPromptSubmit": [{"hooks": [{"type": "command", "command": "bigarrow stop --hook"}]}]}

Si todavía no usas hooks, aquí explicamos cómo funcionan los hooks de Claude Code.

¿Qué pasó cuando lo probamos desde la terminal?

Primero usamos la CLI directamente, para apuntar a un control por su nombre:

bigarrow point --element "Claude" --app "System Settings" --text "Greg, activa esto: Claude podrá ver la pantalla" --duration 15

La primera ejecución falló, y el fallo fue útil. --element busca un control por su etiqueta a través de la Accesibilidad de macOS, y la terminal todavía no tenía ese permiso:

bigarrow: Pointing at a UI element (--element) needs Accessibility permission for
iTerm2 (com.googlecode.iterm2), not for bigarrow: turn it on in System Settings >
Privacy & Security > Device Control and Data Access, then restart that app.

Nombró la app correcta, el panel correcto con su nombre en macOS 27 (“Device Control and Data Access” es como se llama ahí Accesibilidad) y el paso de reiniciar. Tras conceder el permiso, el mismo comando trajo Ajustes del Sistema al frente, enmarcó la fila “Claude”, dibujó la flecha y el cartel con los acentos intactos, y respondió:

bigarrow: pointed at 827.2,445 on display 1 for 15.3 s, dismissed by timeout

¿Puede Claude Code mostrarte dónde activar la grabación de pantalla en Mac?

Sí, y sin que se lo pidas por nombre. En una sesión nueva de Claude Code escribimos solo esto:

Muéstrame dónde tengo que activar la grabación de pantalla para iTerm

No mencionamos bigarrow. Esto es lo que hizo el agente:

  1. Cargó Skill(big-arrow) por su cuenta.
  2. Ejecutó bigarrow --version, abrió el panel exacto con un enlace directo (x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture) y listó los controles que coincidían con “iterm”.
  3. Descubrió que iTerm no estaba en la lista de apps autorizadas para grabar la pantalla.
  4. En lugar de rendirse, localizó iTerm en ~/Applications (la carpeta personal, no /Applications) y apuntó al botón + con este cartel: “Greg, haz clic en + y elige iTerm en tu carpeta de Aplicaciones personal”, más la ruta ~/Applications/iTerm.app como botón de copiar con un clic.
  5. Añadió --say, así que el Mac además leyó el cartel en voz alta.

El botón de copiar es la función {{value}} de bigarrow, añadida en la 0.4.6: todo lo que tengas que pegar va en el cartel, y un clic lo copia sin quitar la flecha. El agente la usó sin que nadie se lo indicara.

La skill también funciona con Codex: install-skill la deja en la carpeta de skills de Codex, y el paquete incluye el agents/openai.yaml que Codex usa para listarla. Nuestra prueba grabada fue en Claude Code.

¿Qué problemas puedes encontrarte con bigarrow?

Modo automático frente a modo por defecto. Nuestras sesiones corrían en el auto mode de Claude Code, así que la skill y sus comandos pasaron sin preguntar. En el modo por defecto, Claude Code te pedirá permiso antes de ejecutar comandos como open. La skill solo preaprueba los comandos de bigarrow (allowed-tools: Bash(bigarrow:*)).

Las flechas de otras sesiones se pueden acumular. Repetimos la prueba dos veces seguidas, en dos sesiones distintas de Claude Code. La segunda sesión ejecutó bigarrow stop antes de dibujar su propia flecha, pero la flecha de la primera sesión seguía en pantalla. Una flecha creada con start dura hasta su límite de 300 segundos o hasta que termina la sesión que la dibujó, y stop solo borra las flechas de la sesión actual. Con dos sesiones de agente abiertas, verás dos carteles. bigarrow stop --all lo limpia todo.

Los permisos son de tu terminal. Dibujar no requiere nada. Pero --element (apuntar por etiqueta) y --until-click necesitan Accesibilidad, y --window App:title necesita Grabación de pantalla en las versiones recientes de macOS. Todos se conceden a la app que ejecuta tu shell (Terminal, iTerm2, Ghostty, VS Code), nunca a bigarrow. El código de salida 4 le dice al agente exactamente qué permiso falta.

Las páginas de Chrome son un caso aparte. --element funciona dentro de apps Electron, pero dentro de una página web en Chrome solo si Chrome se ejecuta con --force-renderer-accessibility. Si no, la skill recurre a coordenadas.

¿Es seguro dejar que un agente dibuje en tu pantalla?

Sí, siempre que leas el cartel: bigarrow no le da al agente ninguna capacidad nueva, y está diseñado para que la decisión siga siendo tuya. La pregunta surgió en cuanto la herramienta llegó a Hacker News: ¿podría un agente usar una capa encima de la pantalla para tapar un botón de “Rechazar” y empujarte hacia “Permitir”? Otro comentarista señaló que una flecha te dice dónde hacer clic, no si deberías hacerlo.

La respuesta del autor está en la skill. Cuando un clic aprueba, concede, paga, firma, envía o borra algo, el cartel tiene que decir qué pasa, por ejemplo “Franz, click Pay: 49 EUR to Hetzner”. Los datos van en el cartel, no solo en la terminal. Además, la flecha deja pasar los clics: si pulsas el objetivo, el clic llega directo a la app, y si pulsas el cartel o la flecha, desaparece.

Y conviene recordarlo: un agente que puede ejecutar bigarrow ya puede ejecutar cualquier comando de shell que le hayas permitido. bigarrow no le da una capacidad que no tuviera; cambia la forma en que te pide ayuda. La decisión sigue siendo tuya, y el cartel es donde revisas qué estás decidiendo.

¿Funciona bigarrow en Windows o Linux?

No. Es solo para macOS (macOS 14 o superior) y está construido sobre AppKit y el servidor de ventanas de macOS. Las pruebas del autor corren en macOS 15 en CI y también se ejecutaron en macOS 26 y 27; nosotros probamos en macOS 27.0.1. En Hacker News alguien pidió una versión para iPad, y el autor la descartó porque iPadOS no permite que una app dibuje encima de otras.

¿Vale la pena instalarlo?

Si ya tienes Xcode, sí: son unos dos minutos y el beneficio es inmediato. Combínalo con el hook UserPromptSubmit para que las flechas se limpien solas cuando respondes.

Si no tienes Xcode, decide primero si una instalación de varios gigas (y quizá una actualización del sistema) te compensa por esto. En nuestro caso pasaron 43 minutos antes de la primera flecha.


¿Y tú? ¿Qué permiso o botón te ha dejado a un agente esperando más tiempo sin que te enteraras?

¿Instalarías bigarrow en tu Mac?
  • Sí, ya tengo Xcode instalado
  • Sí, aunque tenga que instalar Xcode
  • No, no trabajo con agentes en Mac
  • Prefiero otra opción (cuéntanos cuál)
0 votantes

Comenta abajo o, si este artículo te llegó por correo, responde directamente al email: tu respuesta se publica aquí.

Relacionado: Claude Code hooks: el feature más poderoso que probablemente no estás usando