Um workflow para desenvolvedores com a tampa fechada no MacBook

Henry AGI
6 min de leituraJun 2026
Um workflow para desenvolvedores com a tampa fechada no MacBook

Um workflow com a tampa fechada é uma configuração em que fechar a tampa do MacBook não mata a tarefa que você iniciou — o Mac continua rodando em vez de suspender no instante em que a tela apaga. Os agentes de IA para código são o motivo de isso importar agora: um refactor no Claude Code, uma reindexação em segundo plano no Cursor ou uma tarefa do Codex CLI rodando sem supervisão podem levar uma hora ou mais, e por padrão o macOS encerra tudo isso assim que você fecha a tampa. Existem formas gratuitas e nativas de evitar isso — caffeinate, pmset -a disablesleep, conectar um monitor externo — e cada uma tem uma limitação real que vale a pena conhecer antes de fechar a tampa e sair de perto. Este texto passa por essas opções, onde elas param de dar conta, e o workflow que o LidRun constrói em cima das mesmas ferramentas do sistema: detectar o agente, manter o Mac acordado e soltar sozinho quando a bateria ou o calor mandarem parar.

Por que a tampa atrapalha

Fechar a tampa de um MacBook na bateria dispara o clamshell sleep — um tipo de suspensão diferente, mais baixo nível, do que o idle sleep que o macOS usa quando você simplesmente para de tocar no teclado. Essa distinção é o motivo de isso ser tão chato de resolver.

O macOS não sabe que um agente de IA está no meio de uma tarefa. Uma sessão do Claude Code refatorando um arquivo grande, um agente em segundo plano do Cursor reindexando um repositório, uma tarefa do Codex CLI rodando sem supervisão — para o kernel, isso são só processos. No instante em que a tampa fecha, tudo suspende, muitas vezes segundos depois de você ter saído e parado de olhar.

É também por isso que a solução óbvia não funciona aqui. Rodar caffeinate num terminal, ou ativar um toggle de manter-acordado num app de menu bar, segura o que o macOS chama de idle-sleep assertion — a mesma primitiva que caffeinate -i e a maioria dos utilitários de manter-acordado usam. Essa assertion impede o Mac de dormir por ficar sem uso no teclado. Ela não faz nada contra o clamshell sleep, que dispara especificamente porque a tampa fechou fisicamente. Na bateria, sem um monitor externo conectado, fechar a tampa continua vencendo qualquer idle-sleep assertion.

As formas gratuitas e nativas que os desenvolvedores já usam

Duas coisas realmente resolvem isso, e as duas já vêm com o macOS — sem precisar de app de terceiros.

Monitor externo, na tomada. Conecte um monitor externo enquanto o Mac está ligado na tomada e feche a tampa: o próprio suporte a clamshell mode do macOS mantém a máquina rodando por completo, sem nenhuma configuração. É o esquema padrão para usar um MacBook como um mini desktop, e é genuinamente gratuito. O problema é que isso amarra o Mac acordado-com-a-tampa-fechada a um monitor e a uma tomada — não ajuda se você quer fechar a tampa, desconectar e sair andando com a máquina.

pmset -a disablesleep 1. Essa é a alavanca real que impede a suspensão ao fechar a tampa sem precisar de monitor externo — uma preferência de sistema documentada, em nível de root, não um hack. Rode no Terminal com sudo pmset -a disablesleep 1, e o Mac não vai dormir ao fechar a tampa, na bateria ou na tomada, até que algo defina o valor de volta para 0. É também exatamente a mesma primitiva que o Closed-Lid mode do LidRun chama — a diferença está no que envolve essa chamada bruta, explicado mais abaixo.

caffeinate -s (ou -d, -i) ainda merece um lugar na caixa de ferramentas — para um script com duração definida ou uma etapa de CI em que a tampa fica aberta e você só quer que a tela ou o sistema fiquem acordados por um período conhecido. É a ferramenta errada a partir do momento em que a tampa está realmente fechando.

Guia relacionadoMantenha o Claude Code rodando com o MacBook fechado

Onde as soluções gratuitas param de dar conta

O disablesleep é bruto de um jeito que importa assim que a tampa fecha e você já saiu da sala. É uma configuração global e persistente — não fica restrita à sua sessão de terminal nem a um processo específico, é uma flag da máquina inteira que fica ativa até que algo a desligue explicitamente. Feche o terminal, esqueça do assunto, ou deixe o que quer que tenha ativado a flag travar — e ela não volta sozinha. O Mac não vai dormir até você mesmo rodar o comando com 0 ou reiniciar.

Na prática, isso gera dois modos de falha: um laptop deixado rodando quente dentro de uma mochila fechada, com os fans internos sem fazer nada útil porque não há fluxo de ar para mover, e um laptop que drena até 0% porque nada está observando a bateria — o disablesleep não diz nada sobre o nível de energia, então o Mac continua rodando até desligar à força em vez de dormir de forma limpa.

O caminho do monitor externo evita os dois problemas — o Mac não vai a lugar nenhum —, mas só cobre o cenário de ficar acordado com a tampa fechada numa mesa, na tomada. Ele não cobre o que a maioria dos desenvolvedores realmente quer: fechar a tampa, colocar o Mac na mochila e deixar uma tarefa em segundo plano terminar com segurança ou se interromper sozinha antes de fazer algo arriscado.

Um workflow mais tranquilo com a tampa fechada

O Closed-Lid mode do LidRun chama a mesma configuração pmset -a disablesleep descrita acima — não existe uma API diferente e secreta para isso no macOS. O que muda é o que envolve essa chamada: um helper privilegiado que você aprova uma única vez (depois disso, ligar e desligar o Closed-Lid não pede mais senha — sem ele, o macOS pergunta toda vez), reversão automática quando você para o modo ou fecha o app, e uma verificação de recuperação de falha na próxima abertura. Se o LidRun travar com o Closed-Lid ligado, um pequeno arquivo de estado marcado como ativo, com um heartbeat, permite que a próxima abertura detecte o disablesleep=1 deixado para trás e o redefina — um ajuste de melhor esforço ao reabrir, não um watchdog em tempo real, então uma falha no meio de uma sessão pode deixar a configuração travada até você abrir o LidRun de novo.

LidRun
Flow diagram showing LidRun holding a Mac awake while an AI coding agent is detected as active, gated by battery and thermal thresholds, releasing to sleep when the agent finishes or a safety limit is hit
Agent detectado e trabalhando, bateria e temperatura ok → fica acordado. Um dos dois cruza o limite → libera e deixa o Mac dormir.
LidRun
LidRun status window showing an active Claude Code session, Auto Mode on, thermal state, and battery percentage
O que fica visível com a tampa fechada — o agent sendo observado, e os dois limites que podem encerrar a sessão.

Em cima disso fica o Auto Mode, que detecta o trabalho de verdade em vez de pedir para você ficar vigiando um toggle. Por padrão ele observa Claude Code, Cursor e Codex CLI, junto com uma lista mais longa — aider, Gemini CLI, Goose, opencode, amp, Cline, Copilot, Windsurf, Ollama, e ferramentas de build comuns como Docker, cargo e node — e só mantém o Mac acordado enquanto uma dessas ferramentas está realmente fazendo alguma coisa; uma janela do Cursor simplesmente aberta, parada em 0% de CPU, não conta. Como os agentes costumam ficar quietos por um tempo enquanto esperam uma chamada de API, um agente conhecido ganha uma folga de 30 minutos antes que esse silêncio conte como tarefa concluída, e o LidRun ainda espera mais 3 minutos sem nada rodando antes de declarar a tarefa realmente terminada — tempo suficiente para sobreviver a uma pausa normal de raciocínio, curto o bastante para não ficar acordado à toa a noite inteira.

Por baixo dos dois modos, o mesmo piso de segurança roda o tempo todo: um aviso de bateria baixa por padrão em 15%, uma liberação automática por volta de 5%, e um piso rígido de suspensão forçada (4–8%, dependendo da sua configuração) para que o Mac se deixe dormir em vez de rodar até 0% e desligar à força. No lado térmico, o LidRun observa o sinal de pressão térmica do sistema — a mesma progressão Normal / Moderado / Quente / Muito Quente que você veria no app — mais uma checagem numérica de temperatura e throttle por baixo disso; no nível Muito Quente, o Closed-Lid mode se desliga sozinho para que o hardware possa fazer throttle e, se precisar, dormir. Nada disso muda a física — uma tampa fechada remove o principal caminho de refrigeração, e um Mac quente enfiado numa mochila fechada continua sendo uma má ideia —, mas isso significa que o Mac recua sozinho em vez de simplesmente continuar rodando até quebrar alguma coisa.

Como configurar

Aprove o helper privilegiado uma vez, na primeira vez que o LidRun pedir. É um único prompt de senha de administrador; depois disso, o Closed-Lid para de perguntar toda vez que você usa.

LidRun
LidRun's Closed-Lid confirmation dialog with the session length picker and Smart versus Keep-awake mode highlighted
As escolhas que você faz uma vez, antes de fechar a tampa: por quanto tempo manter a sessão, e se ela dorme sozinha assim que a tarefa termina.

Ative o Auto Mode e confira quais ferramentas ele está observando. Claude Code, Cursor e Codex CLI vêm ativados por padrão, junto com ferramentas de build e runtimes de LLM locais — adicione ou remova padrões se a sua stack for diferente.

Inicie a tarefa — dispare a execução do Claude Code, a reindexação do Cursor, o job do Codex.

Ative o Closed-Lid mode. A caixa de confirmação pergunta duas coisas: por quanto tempo manter — até você desligar manualmente, ou uma janela fixa de 30 minutos a 8 horas — e Smart ou Keep-awake. O Smart, o padrão, deixa o Mac dormir assim que nada rastreado rodou por 10 minutos; o Keep-awake mantém o Mac acordado até você mesmo interromper.

Feche a tampa.

Dois hábitos importam mais do que qualquer configuração: uma superfície firme, plana e ventilada, e ligação na tomada para qualquer coisa que vá rodar por horas. Eles dão um reforço às proteções do software, em vez de serem a única coisa entre uma tampa fechada e um problema.

Keep Awake, Timer e Charging-only são gratuitos em qualquer nível, sem período de teste e sem limite de sessões. A detecção de agentes do Auto Mode e o Closed-Lid mode fazem parte do Pro; o Closed-Lid dá a uma instalação sem licença um número limitado de execuções gratuitas para experimentar antes de decidir. O piso de suspensão forçada por bateria e o desligamento térmico automático valem dos dois jeitos — o LidRun não reserva a parada básica por bateria baixa só para o nível pago.

Para quem isso é

Vale a pena configurar isso se você costuma disparar tarefas longas e quer poder se mover enquanto elas rodam — da mesa para o sofá, de casa para um café, uma tarefa que você inicia à noite e confere de manhã.

É mais útil especificamente para o trabalho com agentes de IA: uma execução do Claude Code antes de dormir, uma reindexação do Cursor enquanto você cozinha, uma tarefa do Codex que leva uma hora. Antes de um workflow com a tampa fechada, fechar a tampa numa dessas situações significava apostar se a tarefa sobreviveria.

Se você faz principalmente trabalho curto e interativo numa única mesa, pule isso — um monitor externo resolve com menos configuração, e não há motivo para aprovar um helper privilegiado por causa de uma tarefa de cinco minutos. Se a tampa é o único motivo de você continuar sentado ali por uma tarefa que poderia rodar sozinha, vale a pena experimentar uma vez um workflow para desenvolvedores com a tampa fechada.

Como isso se compara

Nenhuma das ferramentas abaixo é ruim — elas foram construídas para um trabalho diferente de manter um agente de código sem supervisão vivo atrás de uma tampa fechada, sendo honesto sobre bateria e calor.

LidRun
Comparison table of macOS default sleep, caffeinate, pmset disablesleep, Amphetamine-class keep-awake apps, and LidRun across lid-close survival, agent detection, and battery/thermal auto-stop
Onde cada opção realmente ajuda — e onde um workflow de AI com a tampa fechada ainda precisa de mais do que uma idle-sleep assertion.

caffeinate é a escolha certa para scripts e CI: um comando com duração definida, tampa aberta, sem precisar de GUI. Ele não sobrevive a um fechamento de tampa na bateria, e não tem nenhuma noção do que é um agente de IA.

pmset -a disablesleep é o mecanismo real por trás de toda solução para tampa fechada, incluindo o LidRun — veja acima o que o uso bruto pela linha de comando custa se algo der errado.

Amphetamine, KeepingYouAwake, Lungo e Caffeine são utilitários de manter-acordado bem construídos, populares, com gatilhos flexíveis e uma UI de menu bar limpa. Para não deixar um Mac dormir enquanto você está usando ativamente, são escolhas sólidas e muitas vezes gratuitas. O que eles não foram pensados especificamente para resolver é a tampa fechada ou um agente de IA para código — eles seguram a mesma idle-sleep assertion descrita antes, então a lacuna do clamshell sleep continua valendo, e nenhum deles detecta Claude Code, Cursor ou Codex, nem se libera automaticamente quando a bateria ou a temperatura mandam parar. (Para um olhar mais de perto em um deles, veja a comparação com o Amphetamine.)

O nicho do LidRun é propositalmente mais estreito: ciente de agentes, capaz de lidar com a tampa fechada, e construído para soltar automaticamente em vez de assumir que ficar acordado é sempre a resposta certa. Agente rodando, fica acordado. Agente terminado ou em risco, solta e deixa o Mac dormir.

Experimente em vez de brigar com a suspensão de tampa fechada

O LidRun mantém seu trabalho rodando com a tampa fechada, com proteção de bateria e temperatura embutida.

Baixar para macOS

Já tem o LidRun? Leia o guia de configuração →

Novo no LidRun? Veja os preços →

Perguntas frequentes

Com quais agentes de IA e ferramentas isso funciona?

Por padrão, o Auto Mode observa Claude Code, Cursor e Codex CLI, além de uma lista embutida mais longa — aider, Gemini CLI, Goose, opencode, amp, Cline, Copilot, Windsurf e Ollama, junto com ferramentas de build como Docker, cargo e node. Você pode adicionar ou remover padrões para bater com a sua própria stack. Uma ferramenta observada só mantém o Mac acordado enquanto está realmente ativa — uma janela ociosa não conta.

Qual é a diferença entre Keep Awake e o Closed-Lid mode?

O Keep Awake (assim como o Timer e o Charging-only) segura uma idle-sleep assertion — do tipo que caffeinate -i usa —, o que é suficiente enquanto a tampa fica aberta. O Closed-Lid mode é um mecanismo diferente: ele define pmset -a disablesleep, a única alavanca pública que impede a suspensão disparada pela tampa fechando fisicamente na bateria. Você precisa do Closed-Lid especificamente para uma execução com a tampa fechada — o Keep Awake sozinho não sobrevive a isso.

O que acontece se a bateria ficar baixa no meio de uma execução?

O LidRun avisa em 15% por padrão, libera automaticamente a retenção de keep-awake por volta de 5%, e deixa o Mac dormir num piso rígido entre 4–8% em vez de drenar até 0% e desligar à força. Esses limites são configuráveis no Pro; o piso em si não é removido no nível gratuito.

O que acontece se o Mac esquentar com a tampa fechada?

O LidRun acompanha o estado térmico continuamente pelos níveis Normal, Moderado, Quente e Muito Quente, combinando o sinal de pressão térmica do sistema com uma checagem numérica de temperatura e throttle. No nível mais alto, o Closed-Lid mode se desliga sozinho para que o hardware possa fazer throttle e dormir, se precisar. Isso é um reforço, não um substituto para ventilação — mantenha o Mac numa superfície firme, plana e ventilada para execuções longas.

Preciso configurar isso toda vez?

Não. Você aprova o helper privilegiado e escolhe seus limites uma única vez. Depois disso, o passo que se repete é iniciar a tarefa, ligar o Closed-Lid e fechar a tampa.

É seguro deixar a tampa fechada por horas?

Pode ser, com os limites de bateria e temperatura funcionando como proteção e o Mac ligado na tomada numa superfície ventilada — mas uma tampa fechada sempre remove o principal caminho de refrigeração, então trate esses limites como um reforço, não como um motivo para parar de prestar atenção em onde o Mac está rodando.

Ficou curioso se o LidRun é pra você?

Deixe o ChatGPT, o Claude ou o Perplexity investigar — clique abaixo e veja o que a IA realmente acha do LidRun.