[OS] Lidless 0.1.1 — keeps your Mac awake with the lid closed, for coding agents (free, open source)
First time posting Lidless here. Some of you might know me from ShiftPlus, which I shared on this sub before. Same solo dev, just a smaller and very different app this time. The feedback here was honest and useful last time, so I'm bringing this one to the same crowd. One bit of honesty up front. Keep-awake apps are not exactly rare on this sub, so fair warning, this is another one. The thing I'll say to set it apart: most caffeinate-style tools do not actually keep an Apple Silicon Mac awake once you close the lid. `caffeinate` doesn't stop lid-close sleep. Lidless does, and because it's open source you can read exactly what it changes in your power settings before you trust it with that. Quick reminder of what it does It's a menu-bar toggle that keeps your Mac running with the lid shut. I built it so coding agents (Claude Code, Codex, and friends) keep grinding while I close the laptop and move around. One click on, one click off. How it actually works - The reliable way to override lid-close sleep on Apple Silicon is the `SleepDisabled` flag in `IOPMrootDomain` (what `sudo pmset -a disablesleep 1` sets). `caffeinate` can't do it. - A small root helper (installed via `SMAppService`) flips that flag over XPC, so toggling never asks for your password after the one-time setup. - A heartbeat watchdog means if the app crashes or you force-quit it, the helper restores normal sleep on its own. Your Mac can't get stuck awake. What else is in it - Safety guards. It auto-pauses when the machine runs hot, can be set to only-while-charging, and has a low-battery cutoff. Running closed under load gets warm, so these are on by default. - Auto-off timer. Optionally turn keep-awake off after 15 min to 4 hours, with a live countdown in the menu. - Automatic updates via Sparkle, with an EdDSA-signed appcast and notarized DMGs. - Launch at login, plus battery and power status in the menu. Price: free, open source (MIT) No account, no subscription, no telemetry. The whole thing is on GitHub under MIT, so it's free to use and free to read. What's next Signed-runtime verification on more hardware, and whatever rough edges you find. Nothing dated, I'd rather ship it when it's real. Download (signed DMG) and source: https://github.com/nghialuong/Lidless/releases One honest caveat: keeping a Mac awake with the lid closed under heavy load heats it up and drains battery. Keep it plugged in and ventilated. A reboot always resets the flag if anything ever feels off. Feedback I'd actually use: does the watchdog approach (auto-restore sleep after a crash) feel safe enough for you to leave this running overnight? That's the part I worried about most. Thanks again for backing indie devs ❤️ I'll reply to every comment, might be slow about it. I tend to overthink replies. Trust & Transparency I build Lidless solo and I'm happy to be fully open about it: - Source (read everything it does): https://github.com/nghialuong/Lidless - License: MIT - GitHub: https://github.com/nghialuong - LinkedIn: https://www.linkedin.com/in/nghia-luong/ Updates are signed with a Developer ID and notarized by Apple. Lidless is not sandboxed, on purpose: it installs a privileged root helper and toggles the `IOPMrootDomain` power flag, which the Mac App Store sandbox rules out, so it ships outside the MAS. It collects nothing. No analytics, no crash reporting, no network calls except Sparkle checking for updates. Security policy and a private reporting channel are in SECURITY.md. Comment here or email me and I'll get back to you.
已收集讨论
🔍 GitHub Guard : Trust Report ⚠️ This project scored 2/6 — below this subreddit's threshold of 3. Note: Author is an Approved User. Audit Breakdown: ❌ Low Star Count (⭐ 2 / 100 required) ❌ New Repository (under 30 days old) ✅ Licensed under MIT ✅ Security Policy Defined ℹ️ Individual Contributor ℹ️ Unsigned Commits ⚠️ Security Reminder: Always verify source code and run third-party scripts at your own risk.
"caffeinate` doesn't stop lid-close sleep." -> Amphetamine does. Anyway, I will give it a try!
Fair correction. I meant the `caffeinate` CLI specifically, that's the thing that doesn't hold lid-close sleep. Amphetamine is its own app and yeah, it can do closed-display mode, it's good software. I should have worded that line better. The bits I focused on are the crash watchdog (restores normal sleep if the app dies) and the whole thing being open source so you can see exactly what it touches. Thanks for giving it a try, would genuinely like to hear if it holds up for you.
Doesn’t Amphetamine do this?
I have some scheduled Claude cowork tasks that I know exactly when they will happen. Would be cool if I could set times for lidless or other apps like this to run so I don’t have to have them on forever
This is a good one. Right now there's only an auto-off timer (turn it on, it shuts off after a set time). What you're describing is the reverse: scheduled windows that flip keep-awake on at a set time and off when the task should be done. That fits the agent use case really well and it's not on the list yet, so thanks, I'm writing it down. Quick question so I build the right thing: would simple "on at 2pm, off at 4pm" recurring windows cover it, or do you want it tied to whether an agent is actually running rather than the clock?
Amphetamine ? Why…? :)
every week someone makes another clone of it, tired of these people at this point
what’s the difference between clamshell mode?
Good question. Clamshell mode is Apple's built-in thing, but it only kicks in when you have an external display plugged in (plus power, and usually a keyboard/mouse). No monitor, no clamshell. Close the lid and the Mac sleeps. Lidless is for the case where there's no external display at all. Just the laptop, lid shut, sitting in your bag or on the desk while an agent keeps running. That's the gap clamshell doesn't cover. Under the hood it's a different mechanism too. Clamshell is a built-in policy; Lidless flips the SleepDisabled flag in IOPMrootDomain, which is the only reliable way to override lid-close sleep on Apple Silicon without a monitor attached.
sudo [pmset](/search_kw/e9c77e4c470c69135156af0eb366e12d) -a disablesleep 1 You're welcome
No way people who use coding agents would use terminal commands /s
This works on all laptop brands. /s
Use Amphetamine over this slop
Is it possible to only allow a particular application like Apple music?
nah its not per app, its a global lid-close-sleep override. keeps the whole mac awake rather than tied to one app
does this works in intel macs?
Is this alpha? What kind of version number is this? Not even v1.0
Cool project! Could I have this run automatically whenever I’m using an agent (e.g., in an IDE or browser)?
not yet. Sounds like a good idea
How much battery does it drain? Is it possible to make it wake up after a certain amount of time?
The useful distinction here seems narrower than “another keep-awake app.” The interesting case is closed lid, no external display, Apple Silicon, and a long-running agent or remote job that should not silently stall. For a tool that touches power settings, I would want the safety story front and center: what needs root, what gets reverted if the app crashes, and what happens on low battery or heat.
yeah this is exactly the case i built it for, closed lid no display with something long running. on safety: only the power flag flip needs root, through a helper you approve once. if the app dies or you force quit it, the helper puts sleep back after ~90s so you cant leave the mac stuck awake by accident. theres also a thermal pause, a low battery cutoff and an only-while-charging toggle. all in the source if you wanna read it before trusting it
A few things people usually ask, so here first: vs Amphetamine / KeepingYouAwake: those are great, but on Apple Silicon they don't keep the Mac awake once the lid is physically closed. They prevent idle sleep, not lid-close sleep. Lidless targets the lid-close case specifically by toggling the IOPMrootDomain SleepDisabled flag. vs HoldMyLid: similar goal. Lidless is open source and adds the watchdog (auto-restores sleep if the app dies) plus the thermal / charging / low-battery guards. Pick whichever fits, no hard feelings. "Why a root helper?" Flipping that power flag needs root. The helper is installed via SMAppService so you approve it once and never get a password prompt again. The XPC interface is the only thing the app can ask it to do. "Is it safe to leave on?" That's exactly what the watchdog and safety guards are for. If the app crashes, the helper restores normal sleep on its own within ~90s. Keep it plugged in and ventilated under heavy load. Source is right here if you want to check any of that: https://github.com/nghialuong/Lidless
Open terminal and run caffeinate