A cena do crime
Zaragoza, cafeteria do Hotel Pilar Plaza. Um café com leite, vista para a basílica, e seu servidor com o flamante MacBook Air M3 disposto a trabalhar algumas horas com Claude Code antes de uma reunião.
Duas horas depois: bateria a 15%. Alerta vermelho. Pânico.
Como assim? Se eu só estava no terminal digitando código. Nem vídeo, nem Zoom, nem nada que justificasse esse consumo todo.
Abro o Monitor de Atividade, aba de Energia, e lá está o culpado: Ghostty, com um consumo acumulado de 3.600 nas últimas 12 horas. Para você ter uma ideia, Brave Browser consumiu 125. Zoom com vídeo, 99. Claude (o app desktop), 46.
Meu terminal —um aplicativo que mostra texto— consumiu 30 vezes mais que um navegador web.
A ironia das ironias
Para um momento para pensar no que acabei de escrever.
Um terminal. Um emulador de VT100. Uma tecnologia de 1978. Literalmente um aplicativo cujo trabalho é mostrar letras numa tela, algo que um Commodore 64 fazia sem se desesperar.
E em 2026, precisa de uma GPU para funcionar.
Dito em bom português: estamos usando poder de processamento que poderia renderizar Toy Story em tempo real… para mostrar ls -la.
O terminal VT100 original consumia 30W incluindo o monitor CRT. Meu MacBook Air, com seu chip de última geração projetado especificamente para eficiência energética, consome mais mostrando um git status que executando uma videochamada.
É como usar uma Ferrari para ir na padaria. Mas pior, porque a Ferrari pelo menos faz sentido se você quer ir rápido. Aqui não há nenhuma vantagem prática: o texto fica exatamente igual.
Por que diabos um terminal precisa de GPU?
Ghostty, Alacritty, Kitty e companhia são parte de uma nova geração de terminais “acelerados por GPU”. A promessa: renderização mais suave, melhor performance com muito output, fontes mais nítidas.
A realidade: consomem bateria como se não houvesse amanhã para mostrar exatamente a mesma coisa que o Terminal.app mostra usando a CPU.
O problema não é só a renderização. É que quando você tem o Claude Code rodando, há output constante: spinners, logs, resultados de ferramentas. Cada caractere que aparece na tela dispara o pipeline de renderização da GPU. Metal se ativa, os shaders fazem seu trabalho, os frames são compostos…
Para mostrar um ponto girando.
Como se não bastasse, esses terminais modernos não entram em “App Nap” corretamente. macOS tem um sistema para pausar aplicativos em segundo plano, mas se o terminal está mostrando um spinner animado, o sistema acha que está fazendo algo importante e mantém ele ativo.
Solução para pobres: Terminal.app
A solução mais simples é a mais óbvia: usa o Terminal.app.
Sim, o terminal que vem com o macOS. Aquele que parece que não mudou desde 2005. Aquele que não tem GPU acceleration nem ligatures nem nenhuma das modernices.
| |
Funciona exatamente igual. Claude Code não sabe nem se importa de qual terminal você o executa. E o Terminal.app:
- Usa renderização por CPU (eficientíssimo no Apple Silicon)
- Entra em App Nap corretamente
- Consome uma fração da bateria
É sexy? Não. Funciona? Perfeitamente.
Solução melhorada: iTerm2 com perfis
Se você não consegue viver sem seu terminal moderno, iTerm2 tem uma opção que o Ghostty não tem: você pode desativar a renderização GPU.
Passo 1: Criar perfil “Bateria”
- Abra iTerm2
Preferences→Profiles- Duplique seu perfil atual (botão
+embaixo à esquerda, depoisDuplicate Profile) - Nomeie o novo perfil “Battery”
- No perfil Battery:
Terminal→ desmarque “GPU Rendering”
Passo 2: Mudança manual
Quando trabalhar com bateria, simplesmente mude para o perfil:
Profiles → Battery (no menu do iTerm2)
Dois cliques. Seu terminal agora consome como um cidadão responsável.
Passo 3: Mudança automática (opcional)
Se você quer que a mudança seja automática, adicione isso no seu .zshrc ou config.fish:
| |
| |
Toda vez que você abrir uma nova aba, iTerm2 vai verificar se você está na bateria e mudar para o perfil eficiente automaticamente.
Ghostty: o elefante na sala
E se eu quero continuar usando Ghostty?
Bom, não vai ter solução elegante. Ghostty não tem opção para desativar GPU rendering. É GPU ou nada.
Você pode tentar:
- Minimizar a janela quando não usar (força algo parecido com App Nap)
- Reduzir animações na config (
cursor-style-blink = false) - Desativar vsync se não te importar o tearing
Mas a realidade é que Ghostty foi projetado para performance, não para eficiência. Se você trabalha regularmente com bateria, não é a ferramenta adequada.
# ~/.config/ghostty/config
# Tentativas desesperadas de reduzir consumo
cursor-style-blink = false
mouse-hide-while-typing = true
A reflexão
Tem algo profundamente irônico em tudo isso.
Em 1978, mostrar texto numa tela era trivial. Em 2026, conseguimos converter isso numa tarefa que requer hardware de última geração e consome mais energia que uma videochamada intercontinental.
Chamam isso de progresso.
Na próxima vez que alguém te vender uma ferramenta “otimizada” e “moderna”, se pergunte: otimizada para quê? Porque se a resposta for “para as letras aparecerem 2 milissegundos antes às custas de queimar a bateria”, talvez o progresso esteja indo na direção errada.
Enquanto isso, Terminal.app continua lá. Feio, sem graça, funcionando perfeitamente há 20 anos.
Às vezes o velho é velho por algum motivo. E às vezes, simplesmente funciona.