Un workflow développeur couvercle fermé pour MacBook

Un workflow développeur couvercle fermé, c'est une configuration où fermer le couvercle du MacBook ne tue pas la tâche en cours : le Mac continue de tourner au lieu de se mettre en veille dès que l'écran s'éteint. Les agents de codage IA sont la raison pour laquelle ça devient un vrai sujet : un refactoring lancé par Claude Code, une réindexation en arrière-plan sous Cursor, ou une tâche Codex CLI laissée sans surveillance peuvent tourner une heure ou plus, et par défaut macOS coupe tout ça à l'instant où vous fermez le couvercle. Il existe des méthodes gratuites et natives pour l'éviter — caffeinate, pmset -a disablesleep, brancher un écran externe — et chacune a une vraie limite à connaître avant de fermer le couvercle et de partir. Cet article passe en revue ces options, jusqu'où elles vont, puis le workflow que LidRun construit par-dessus les mêmes outils système : détecter l'agent, garder le Mac éveillé, et le relâcher tout seul quand la batterie ou la chaleur dit stop.
Pourquoi le couvercle vous bloque
Fermer le couvercle d'un MacBook sur batterie déclenche le clamshell sleep — une veille différente, plus bas niveau, que la veille d'inactivité que macOS utilise quand vous arrêtez simplement de toucher le clavier. Cette distinction est la seule vraie raison pour laquelle c'est pénible à corriger.
macOS ne sait pas qu'un agent IA est en plein travail. Une session Claude Code en train de refactorer un gros fichier, un agent Cursor en arrière-plan qui réindexe un repo, une tâche Codex CLI qui tourne sans surveillance — pour le kernel, ce ne sont que des processus. Dès que le couvercle se ferme, tout se suspend, souvent quelques secondes après que vous êtes parti sans plus surveiller.
C'est aussi pour ça que la solution évidente ne marche pas ici. Lancer caffeinate dans un terminal, ou activer un bouton keep-awake dans une appli de la barre de menus, maintient ce que macOS appelle une assertion idle-sleep — le même mécanisme de base qu'utilisent caffeinate -i et la plupart des utilitaires keep-awake. Cette assertion empêche le Mac de s'endormir parce que vous êtes loin du clavier. Elle ne fait rien contre le clamshell sleep, qui se déclenche spécifiquement parce que le couvercle est physiquement fermé. Sur batterie, sans écran externe branché, fermer le couvercle l'emporte toujours sur n'importe quelle assertion idle-sleep.
Les méthodes gratuites et natives que les développeurs utilisent déjà
Deux choses résolvent vraiment ce problème, et les deux sont livrées avec macOS — aucune appli tierce nécessaire.
Écran externe, sur secteur. Branchez un moniteur externe pendant que le Mac est sur secteur, puis fermez le couvercle : la prise en charge native du clamshell mode par macOS garde la machine pleinement active, sans aucune configuration. C'est le montage standard pour utiliser un MacBook comme mini poste de bureau, et c'est réellement gratuit. Le hic, c'est que ça lie le fait de rester éveillé couvercle fermé à un moniteur et une prise secteur — ça n'aide pas si vous voulez fermer le couvercle, débrancher, et partir avec la machine.
pmset -a disablesleep 1. C'est le vrai levier qui empêche la veille au moment de la fermeture du couvercle sans écran externe — un réglage système documenté, au niveau root, pas un hack. Lancez-le depuis Terminal avec sudo pmset -a disablesleep 1, et le Mac ne s'endormira plus à la fermeture du couvercle, sur batterie comme sur secteur, jusqu'à ce que quelque chose le remette à 0. C'est aussi exactement le mécanisme de base qu'appelle le mode Closed-Lid de LidRun — la différence est dans ce qui entoure cet appel brut, voir plus bas.
caffeinate -s (ou -d, -i) garde quand même sa place dans la boîte à outils — pour un script borné ou une étape CI où le couvercle reste ouvert et où vous voulez juste que l'écran ou le système reste éveillé pendant une durée connue. C'est le mauvais outil dès que le couvercle se ferme réellement.
Où les solutions gratuites atteignent leurs limites
disablesleep est un outil brutal, et ça compte une fois le couvercle fermé et vous parti de la pièce. C'est un réglage global et persistant — il n'est lié ni à votre session de terminal ni à un processus en particulier, c'est un drapeau valable pour toute la machine qui reste actif jusqu'à ce que quelque chose le désactive explicitement. Fermez le terminal, oubliez-le, ou laissez planter ce qui l'a activé, et il ne revient pas en arrière tout seul. Le Mac ne s'endormira pas tant que vous n'aurez pas lancé la commande 0 vous-même, ou redémarré.
En pratique, ça donne deux scénarios d'échec : un portable qui chauffe enfermé dans un sac, avec les ventilateurs internes qui ne servent à rien faute d'air à faire circuler, et un portable qui se vide jusqu'à 0 % parce que rien ne surveille la batterie — disablesleep ne dit rien sur le niveau de charge, donc le Mac continue de tourner jusqu'à l'extinction forcée au lieu de s'endormir proprement.
La solution de l'écran externe évite ces deux problèmes — le Mac ne bouge pas — mais elle ne couvre que le cas où vous restez éveillé couvercle fermé à un bureau, branché sur secteur. Elle ne couvre pas ce que la plupart des développeurs veulent vraiment : fermer le couvercle, mettre le Mac dans un sac, et laisser une tâche en arrière-plan soit se terminer sans risque, soit s'arrêter d'elle-même avant de faire quelque chose de dangereux.
Un workflow couvercle fermé plus posé
Le mode Closed-Lid de LidRun appelle exactement le même réglage pmset -a disablesleep décrit plus haut — il n'existe pas d'API secrète différente pour ça sur macOS. Ce qui change, c'est ce qui entoure cet appel : un helper privilégié que vous approuvez une seule fois (ensuite, activer et désactiver Closed-Lid ne redemande plus de mot de passe — sans ça, macOS le demande à chaque fois), une remise à zéro automatique quand vous arrêtez le mode ou quittez l'appli, et une vérification de récupération après crash au lancement suivant. Si LidRun plante pendant que Closed-Lid est actif, un petit fichier d'état armé avec un heartbeat permet au lancement suivant de détecter le disablesleep=1 resté actif et de le réinitialiser — une correction au mieux à la réouverture, pas une surveillance en direct, donc un crash en cours de session peut laisser le réglage bloqué jusqu'à ce que vous rouvriez LidRun.




Par-dessus vient Auto Mode, qui détecte le travail réel au lieu de vous demander de surveiller un bouton. Par défaut, il surveille Claude Code, Cursor et Codex CLI, ainsi qu'une liste plus longue — aider, Gemini CLI, Goose, opencode, amp, Cline, Copilot, Windsurf, Ollama, et des outils de build courants comme Docker, cargo et node — et ne garde le Mac éveillé que tant que l'un d'eux fait vraiment quelque chose ; une fenêtre Cursor simplement ouverte à 0 % de CPU ne compte pas. Comme les agents restent souvent silencieux un moment en attendant la réponse d'une API, un agent reconnu bénéficie d'un délai de grâce de 30 minutes avant qu'un silence compte comme terminé, et LidRun attend encore 3 minutes sans rien qui tourne avant de déclarer la tâche vraiment finie — assez long pour survivre à une pause de réflexion normale, assez court pour ne pas rester éveillé toute la nuit sans raison.
Sous les deux modes, le même filet de sécurité tourne dans tous les cas : un avertissement batterie faible par défaut à 15 %, un relâchement automatique autour de 5 %, et un plancher de mise en veille forcée (4–8 %, selon votre réglage) pour que le Mac se laisse dormir au lieu de courir jusqu'à 0 % et de s'éteindre brutalement. Côté thermique, LidRun surveille le signal de pression thermique du système — la même progression Normal / Modéré / Chaud / Très chaud que vous verriez dans l'appli — plus un contrôle numérique de température et de throttling en dessous ; au palier Très chaud, le mode Closed-Lid se désactive tout seul pour que le matériel puisse throttler et, si besoin, s'endormir. Rien de tout ça ne change la physique — un couvercle fermé supprime le principal chemin de refroidissement, et un Mac chaud coincé dans un sac fermé reste une mauvaise idée — mais ça veut dire que le Mac se retire de lui-même au lieu de tourner jusqu'à ce que quelque chose casse.
Mise en place
Approuvez le helper privilégié une seule fois, la première fois que LidRun le demande. C'est une unique demande de mot de passe admin ; ensuite, Closed-Lid arrête de vous le redemander à chaque utilisation.


Activez Auto Mode et vérifiez quels outils il surveille. Claude Code, Cursor et Codex CLI sont activés par défaut, avec des outils de build et des runtimes LLM locaux — ajoutez ou retirez des motifs si votre stack est différente.
Lancez la tâche — démarrez le run Claude Code, la réindexation Cursor, ou le job Codex.
Activez le mode Closed-Lid. La boîte de dialogue de confirmation demande deux choses : combien de temps le maintenir — jusqu'à ce que vous le désactiviez manuellement, ou une durée fixe de 30 minutes à 8 heures — et Smart vs. Keep-awake. Smart, le réglage par défaut, laisse le Mac s'endormir dès que rien de surveillé n'a tourné pendant 10 minutes ; Keep-awake garde le Mac éveillé jusqu'à ce que vous l'arrêtiez vous-même.
Fermez le couvercle.
Deux habitudes comptent plus que n'importe quel réglage : une surface dure, plate et ventilée, et le secteur pour tout ce qui va tourner plusieurs heures. Elles donnent aux garde-fous du logiciel un vrai filet de sécurité, au lieu d'être la seule chose entre un couvercle fermé et un problème.
Keep Awake, Timer et Charging-only sont gratuits sur tous les niveaux, sans essai limité ni plafond de session. La détection d'agents d'Auto Mode et le mode Closed-Lid font partie de Pro ; Closed-Lid offre à une installation sans licence un nombre limité d'utilisations gratuites pour essayer avant de se décider. Le plancher de mise en veille forcée par batterie et le retrait automatique thermique s'appliquent dans tous les cas — LidRun ne réserve pas l'arrêt basique en cas de batterie faible à un palier payant.
À qui ça s'adresse
Ça vaut le coup de le mettre en place si vous lancez régulièrement des tâches longues et que vous voulez pouvoir bouger pendant qu'elles tournent — du bureau au canapé, de la maison à un café, une tâche lancée le soir et vérifiée le lendemain matin.
C'est surtout utile pour le travail avec des agents IA en particulier : un run Claude Code avant de dormir, une réindexation Cursor pendant que vous préparez le dîner, une tâche Codex qui prend une heure. Avant un workflow couvercle fermé, fermer le couvercle sur l'une de ces tâches revenait à parier sur ses chances de survie.
Si vous faites surtout du travail court et interactif à un seul bureau, passez votre chemin — un écran externe suffit avec moins de configuration, et il n'y a aucune raison d'approuver un helper privilégié pour une tâche de cinq minutes. Si le couvercle est la seule raison pour laquelle vous restez assis là pour une tâche qui pourrait tourner toute seule, un workflow développeur couvercle fermé mérite d'être essayé une fois.
Comment ça se compare
Aucun des outils ci-dessous n'est mauvais — ils sont conçus pour un usage différent que de garder un agent de codage sans surveillance actif derrière un couvercle fermé, tout en restant honnête sur la batterie et la chaleur.


caffeinate est le bon choix pour les scripts et la CI : une commande bornée, couvercle ouvert, sans interface graphique nécessaire. Il ne survit pas à une fermeture du couvercle sur batterie, et il n'a aucune notion de ce qu'est un agent IA.
pmset -a disablesleep est le vrai mécanisme derrière chaque contournement couvercle fermé, LidRun compris — voir plus haut ce que son usage brut en ligne de commande vous coûte si quelque chose tourne mal.
Amphetamine, KeepingYouAwake, Lungo et Caffeine sont des utilitaires keep-awake bien conçus et populaires, avec des déclencheurs flexibles et une interface de barre de menus soignée. Pour empêcher un Mac de s'endormir pendant que vous l'utilisez activement, ce sont des choix solides, souvent gratuits. Ce pour quoi ils ne sont pas conçus, c'est un couvercle fermé spécifiquement, ou un agent de codage IA — ils maintiennent la même assertion idle-sleep décrite plus haut, donc le trou du clamshell sleep reste entier, et aucun d'eux ne détecte Claude Code, Cursor ou Codex, ni ne se relâche automatiquement quand la batterie ou la température dit stop. (Pour un regard plus poussé sur l'un d'eux, voir la comparaison avec Amphetamine.)
La niche de LidRun est volontairement plus étroite : conscient des agents, capable de gérer un couvercle fermé, et conçu pour se relâcher automatiquement au lieu de supposer que rester éveillé est toujours la bonne réponse. Agent en cours, on reste éveillé. Agent terminé ou situation à risque, on relâche et on laisse le Mac dormir.
LidRun garde votre travail actif capot fermé, avec une protection batterie et thermique intégrée.
Vous avez déjà LidRun ? Lisez le guide d'installation →
Nouveau sur LidRun ? Voir les tarifs →
Questions fréquentes
Par défaut, Auto Mode surveille Claude Code, Cursor et Codex CLI, plus une liste intégrée plus longue — aider, Gemini CLI, Goose, opencode, amp, Cline, Copilot, Windsurf et Ollama, ainsi que des outils de build comme Docker, cargo et node. Vous pouvez ajouter ou retirer des motifs pour coller à votre propre stack. Un outil surveillé ne garde le Mac éveillé que tant qu'il est réellement actif — une fenêtre inactive ne compte pas.
Keep Awake (ainsi que Timer et Charging-only) maintient une assertion idle-sleep — le genre qu'utilise caffeinate -i — ce qui suffit tant que le couvercle reste ouvert. Le mode Closed-Lid est un mécanisme différent : il active pmset -a disablesleep, le seul levier public qui empêche la veille déclenchée par la fermeture physique du couvercle sur batterie. Il vous faut Closed-Lid spécifiquement pour un run couvercle fermé — Keep Awake seul n'y survivra pas.
LidRun avertit à 15 % par défaut, relâche automatiquement le maintien éveillé autour de 5 %, et laisse le Mac s'endormir à un plancher dur entre 4 et 8 % plutôt que de le vider jusqu'à 0 % et provoquer une extinction brutale. Ces seuils sont configurables avec Pro ; le plancher lui-même n'est pas retiré sur le niveau gratuit.
LidRun suit l'état thermique en continu à travers les paliers Normal, Modéré, Chaud et Très chaud, en combinant le signal de pression thermique du système avec un contrôle numérique de température et de throttling. Au palier le plus élevé, le mode Closed-Lid se désactive tout seul pour que le matériel puisse throttler et s'endormir si besoin. C'est un filet de sécurité, pas un substitut à la ventilation — gardez le Mac sur une surface dure, plate et ventilée pour les runs longs.
Non. Vous approuvez le helper privilégié et choisissez vos seuils une seule fois. Ensuite, l'étape qui se répète, c'est de lancer votre tâche, d'activer Closed-Lid et de fermer le couvercle.
Ça peut l'être, avec les seuils batterie et thermiques qui servent de garde-fous et le Mac branché sur une surface ventilée — mais un couvercle fermé supprime toujours le principal chemin de refroidissement, donc traitez ces seuils comme un filet de sécurité, pas comme une raison d'arrêter de faire attention à l'endroit où tourne le Mac.