bigarrow é uma CLI para macOS com uma skill para Claude Code e Codex que desenha uma seta gigante e um cartaz sobre o botão exato que você precisa clicar.
yoDEV Tested · 15 de outubro de 2026
Instalamos o bigarrow com Homebrew em um Mac M5 Pro com macOS 27.0.1 e o testamos no terminal e com o Claude Code. Os resultados que apresentamos como nossos vêm desse teste.
Se você trabalha com Claude Code ou Codex em um Mac e já voltou à tela para descobrir que o agente estava esperando há vinte minutos por um clique que você não sabia que era necessário, isso é para você. Em vez de escrever “por favor, clique em Permitir” em um terminal que você não está olhando, o agente aponta para o botão. Sobre a janela, com uma seta que você não pode perder.
Instalamos em um Mac e pedimos ao Claude Code onde ativar a gravação de tela, sem mencionar bigarrow. O agente abriu sozinho o painel correto de Ajustes do Sistema e colocou uma seta sobre o botão.
Que problema bigarrow resolve?
bigarrow dá ao seu agente de código uma forma de apontar na tela em vez de descrever. Seu agente pode refatorar um monorepo inteiro, mas quando precisa que você clique em um único botão, tudo que sabe fazer é imprimir uma instrução no terminal.
A ferramenta desenha uma camada transparente aos cliques: uma seta grande, um cartaz com uma frase completa e, se solicitado, uma caixa ao redor do alvo. Nunca tira seu foco, não precisa de nenhuma permissão para desenhar e desaparece sozinha: em 8 segundos por padrão com point, em 300 com start, ou quando termina o processo do agente que a desenhou. Nunca clica, nunca escreve e nunca captura nada. Apenas aponta.
É um único binário em Swift, licenciado com MIT, criado por Franz Enzenhofer. No momento de publicar esta nota, a versão mais recente é a 0.4.6, marcada em 12 de outubro de 2026.
O autor enumera os casos para os quais a projetou: diálogos de permissão do macOS, telas de consentimento OAuth, códigos 2FA, confirmações de pagamento e aqueles momentos de “qual dessas 14 abas do Chrome?”. Tudo que um agente não deve ou não pode clicar em seu nome.
Xcode Command Line Tools é suficiente para instalar bigarrow?
Não, e isto é o que a instalação de duas linhas do README não te conta. A fórmula do Homebrew não traz um binário pré-compilado: compila a partir do código-fonte em cada instalação e exige o app completo do Xcode, versão 16 ou superior. Xcode Command Line Tools não é suficiente.
Nossa primeira tentativa, em um Mac que tinha apenas Xcode Command Line Tools, parou aqui:
bigarrow: A full installation of Xcode.app 16.0 is required to compile
this software. Installing just the Command Line Tools is not sufficient.
Em nossa máquina de teste, conseguir um Xcode atual significou atualizar macOS primeiro. Entre a atualização do sistema e o download e instalação do Xcode se foram 43 minutos. Com Xcode já instalado, brew install levou 1 minuto e 18 segundos em um M5 Pro, dos quais a compilação em Swift levou 1 minuto e 4 segundos.
Se você já tem Xcode 16 ou superior, a instalação é rápida. Se não tem, conte com esse tempo.
Como instalar bigarrow no Mac para Claude Code e Codex?
Com dois comandos:
brew install franzenzenhofer/tap/bigarrow
bigarrow install-skill
install-skill copia a mesma pasta da skill em dois lugares: ~/.claude/skills/big-arrow para Claude Code e ~/.agents/skills/big-arrow para Codex. Verificamos ambas: o mesmo SKILL.md, o mesmo reference.md e um agents/openai.yaml que Codex lê para sua lista de skills. Ou seja, uma única instalação deixa a skill em suas skills do Claude Code e em suas skills do Codex. O comando é idempotente e não sobrescreve arquivos que você modificou a menos que você passe --force.
Depois, execute:
bigarrow doctor
Em nosso Mac informou que desenhar não precisa de permissões, que faltavam Acessibilidade e Gravação de tela e, o mais importante, que essas permissões pertencem a iTerm2, não a bigarrow. Também detectou os três monitores conectados, incluindo um localizado em coordenadas negativas.
Há um passo opcional que vale a pena. A skill documenta um hook do Claude Code que apaga as setas do agente assim que você responde. Em ~/.claude/settings.json:
"hooks": {"UserPromptSubmit": [{"hooks": [{"type": "command", "command": "bigarrow stop --hook"}]}]}
Se você ainda não usa hooks, aqui explicamos como funcionam os hooks do Claude Code.
O que aconteceu quando testamos a partir do terminal?
Primeiro usamos a CLI diretamente, para apontar para um controle pelo seu nome:
bigarrow point --element "Claude" --app "System Settings" --text "Greg, ativa isso: Claude poderá ver a tela" --duration 15
A primeira execução falhou, e a falha foi útil. --element busca um controle pelo seu rótulo através da Acessibilidade do macOS, e o terminal ainda não tinha essa permissão:
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.
Nomeou o app correto, o painel correto com seu nome no macOS 27 (“Device Control and Data Access” é como se chama Acessibilidade lá) e o passo de reiniciar. Após conceder a permissão, o mesmo comando trouxe Ajustes do Sistema para frente, marcou a linha “Claude”, desenhou a seta e o cartaz com os acentos intactos, e respondeu:
bigarrow: pointed at 827.2,445 on display 1 for 15.3 s, dismissed by timeout
O Claude Code pode mostrar onde ativar a gravação de tela no Mac?
Sim, e sem que você peça pelo nome. Em uma sessão nova do Claude Code escrevemos apenas isto:
Mostre-me onde preciso ativar a gravação de tela para o iTerm
Não mencionamos bigarrow. Isto é o que o agente fez:
- Carregou
Skill(big-arrow)por conta própria. - Executou
bigarrow --version, abriu o painel exato com um link direto (x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture) e listou os controles que correspondiam a “iterm”. - Descobriu que o iTerm não estava na lista de apps autorizados para gravar a tela.
- Em vez de desistir, localizou o iTerm em
~/Applications(a pasta pessoal, não/Applications) e apontou para o botão + com este cartaz: “Greg, clique em + e escolha iTerm na sua pasta de Aplicações pessoal”, mais o caminho~/Applications/iTerm.appcomo botão de copiar com um clique. - Adicionou
--say, assim o Mac também leu o cartaz em voz alta.
O botão de copiar é a função {{value}} do bigarrow, adicionada na 0.4.6: tudo que você tiver que colar vai no cartaz, e um clique o copia sem remover a seta. O agente o usou sem que ninguém indicasse.
A skill também funciona com Codex: install-skill a deixa na pasta de skills do Codex, e o pacote inclui o agents/openai.yaml que Codex usa para listá-la. Nosso teste gravado foi no Claude Code.
Que problemas você pode encontrar com bigarrow?
Modo automático versus modo padrão. Nossas sessões rodavam no modo auto do Claude Code, então a skill e seus comandos passaram sem perguntar. No modo padrão, o Claude Code pedirá permissão antes de executar comandos como open. A skill apenas pré-aprova os comandos do bigarrow (allowed-tools: Bash(bigarrow:*)).
As setas de outras sessões podem se acumular. Repetimos o teste duas vezes seguidas, em duas sessões diferentes do Claude Code. A segunda sessão executou bigarrow stop antes de desenhar sua própria seta, mas a seta da primeira sessão ainda estava na tela. Uma seta criada com start dura até seu limite de 300 segundos ou até que termine a sessão que a desenhou, e stop apenas apaga as setas da sessão atual. Com duas sessões de agente abertas, você verá dois cartazes. bigarrow stop --all limpa tudo.
As permissões são do seu terminal. Desenhar não requer nada. Mas --element (apontar por rótulo) e --until-click precisam de Acessibilidade, e --window App:title precisa de Gravação de tela nas versões recentes do macOS. Todos são concedidos ao app que executa seu shell (Terminal, iTerm2, Ghostty, VS Code), nunca ao bigarrow. O código de saída 4 diz ao agente exatamente qual permissão falta.
As páginas do Chrome são um caso especial. --element funciona dentro de apps Electron, mas dentro de uma página web no Chrome apenas se o Chrome rodar com --force-renderer-accessibility. Se não, a skill recorre a coordenadas.
É seguro deixar um agente desenhar na sua tela?
Sim, desde que você leia o cartaz: bigarrow não dá ao agente nenhuma capacidade nova, e foi projetado para que a decisão continue sendo sua. A pergunta surgiu assim que a ferramenta chegou ao Hacker News: um agente poderia usar uma camada sobre a tela para cobrir um botão “Rejeitar” e empurrá-lo para “Permitir”? Outro comentarista apontou que uma seta te diz onde clicar, não se você deveria clicar.
A resposta do autor está na skill. Quando um clique aprova, concede, paga, assina, envia ou deleta algo, o cartaz tem que dizer o que acontece, por exemplo “Franz, clique em Pagar: 49 EUR para Hetzner”. Os dados vão no cartaz, não apenas no terminal. Além disso, a seta deixa os cliques passarem: se você clicar no alvo, o clique chega direto ao app, e se clicar no cartaz ou na seta, ele desaparece.
E vale lembrar: um agente que pode executar bigarrow já pode executar qualquer comando de shell que você tenha permitido. bigarrow não lhe dá uma capacidade que não tivesse; muda a forma como ele pede sua ajuda. A decisão continua sendo sua, e o cartaz é onde você revisa o que está decidindo.
bigarrow funciona no Windows ou Linux?
Não. É apenas para macOS (macOS 14 ou superior) e é construído sobre AppKit e o servidor de janelas do macOS. Os testes do autor rodam no macOS 15 em CI e também foram executados no macOS 26 e 27; nós testamos no macOS 27.0.1. No Hacker News alguém pediu uma versão para iPad, e o autor descartou porque o iPadOS não permite que um app desenhe sobre outros.
Vale a pena instalar?
Se você já tem Xcode, sim: são cerca de dois minutos e o benefício é imediato. Combine com o hook UserPromptSubmit para que as setas se limpem sozinhas quando você responde.
Se você não tem Xcode, decida primeiro se uma instalação de vários gigabytes (e talvez uma atualização do sistema) o compensa. No nosso caso levou 43 minutos antes da primeira seta.
E você? Que permissão ou botão deixou um agente esperando mais tempo sem que você percebesse?
- Sim, já tenho Xcode instalado
- Sim, mesmo que precise instalar Xcode
- Não, não trabalho com agentes no Mac
- Prefiro outra opção (conte qual)
Comente abaixo ou, se este artigo chegou até você por email, responda diretamente ao email: sua resposta é publicada aqui.
Relacionado: Claude Code hooks: o feature mais poderoso que você provavelmente não está usando

