8 ms·
Show HN: Adrafinil – keep a lid-closed Mac awake only while agents work
A month ago there was a wave of posts and tweets about engineers walking around cafes and parks with their MacBooks propped half-open, as fully closing the lid forces sleep that stops their AI agents. Some people made snarky comments about using tmux or Amphetamine, and some defended their choice with “but I only need it sometimes, and forgetting to disable Amphetamine and finding my laptop discharged in my bag is worse.”
This is a solution to this problem. Unlike caffeinate, it will prevent your MacBook from sleeping even with the lid closed, with no external power or display, using pmset disablesleep 1. Unlike other sleep-preventing apps, Adrafinil only activates when there’s an agent actively doing something. It detects agent activity through hooks it installs into Claude Code, Codex, and others. To reassure you it’s working, the app shows the active status in the menu bar, and it plays a chime when you close the lid.
Once the agent is done, Adrafinil detects it and lets the laptop go to sleep by setting pmset disablesleep back to 0. It will also let it sleep in case of overheating. And if you want to manually toggle it, you can install an optional MCP and tell your agent to keep the MacBook awake for a specific time.
It has four binaries, one of which is a root helper exposing a single setSleepBlocked call. All the logic and policy live in the unprivileged parts. They’re all notarized, and the app is fully open source (MIT).
- deleted 3mo ago[deleted]
- processunknown 3mo agoDoes it also make my Mac irritable?
- kageroumado 3mo agoProbably less irritable than amphetamine~
- loeg 3mo agoI guess we are getting the entire modafinil, R-modafinil extended universe.
- moralestapia 3mo agoWhat's old is new again, but I welcome this. I used to do this 15 years ago to keep listening to music from my laptop (one of the white chiclet ones) in my backpack, can't remember the name of the app I used then. One caveat, your laptop cannot cool inside a backpack, it will overheat and shut down anyway. This happened to me several times.
- dominotw 3mo agohad a coworkers whose laptop keys melted into mush
- dmd 3mo agothat was true of intel but definitely not of arm macbooks.
- NewJazz 3mo agoThen why do they have fans?
- loeg 3mo agoMany ARM Macbooks do not have fans?
- moralestapia 3mo agoFans !== heat
- loeg 3mo agoMy comment is only in response to https://news.ycombinator.com/item?id=48701824 https://news.ycombinator.com/item?id=48701824 , which is contending that ARM Macbooks have fans.
- NewJazz 3mo agoMany do. I would argue most do, although i don't have air vs. Pro sales numbers so I can't speak definitively there. Even those that don't may rely on passive cooling strategies that are less effective in enclosed spaces.
- xlii 3mo agoUm so it is sudo bash -c 'touch KEEP_RUNNING; pmset -b sleep 0; pmset -b disablesleep 1; while [ -e KEEP_RUNNING ]; do sleep 1; done; pmset -b sleep 5; pmset -b disablesleep 0' and Agent, when you're done do `rm KEEP_RUNNING`, kthxbye. ? (personally I have Ruby scripts that check activity on "tmux capture-output" for that)
- fragmede 3mo agohttps://news.ycombinator.com/item?id=9224 https://news.ycombinator.com/item?id=9224
- da_grift_shift 3mo agoYeah, I'll stick with the oneliner. https://ghloc.vercel.app/kageroumado/adrafinil?branch=main https://ghloc.vercel.app/kageroumado/adrafinil?branch=main
- deleted 3mo ago[deleted]
- operatingthetan 3mo agoSo now we're naming apps after obscure Modafinil derivatives?
- unacorner 3mo agoAdrafinil's discovery and use predates Modafinil, I believe.
- operatingthetan 3mo agoI admire your pharma knowledge.
- treme 3mo agohttps://kagerou.glass/#dispensary-shelf https://kagerou.glass/#dispensary-shelf He's a connoisseur.
- hamza_q_ 3mo agoI'll take credit for starting this trend :P https://github.com/narcotic-sh/modafinil https://github.com/narcotic-sh/modafinil
- operatingthetan 3mo agoThere were mac apps called caffeine and amphetamine years ago.
- hamza_q_ 3mo agoWas referring to the *afinil specifically
- operatingthetan 3mo agoAlright, well I guess I thought were were talking about naming apps after stimulant drugs lol.
- chopete3 3mo agoThis is great. Will check it. Recently I bought a usb-c empty external monitor card to prevent mac from going to sleep. There are many of these external monitor simulators on Amazon. I still see the laptop go to sleep many times with the external monitor simulator. This is the one I bought. 4K 60Hz USB-C Type-C Virtual Display Adapter DDC EDID Dummy Plug Headless Ghost Display Emulator 2K 60hz1080P@120Hz
- bluedino 3mo agoCan't you just use a hot corner configured as "prevent sleep"?
- fragmede 3mo agoHow does it sleep when the agent is done working with the hot corner?
- doubled112 3mo agoHave the agent write an app that moves the cursor our of the hot corner and trigger it when done.
- kageroumado 3mo agoThe dummy display enables “clamshell mode,” which lets your MacBook stay awake even with the lid closed, provided that it’s also on AC power. If the MacBook is not connected to power, the clamshell mode isn’t activated and it will sleep normally. Adrafinil simply disables the global sleep without spoofing hardware, and re-enables it once the agent is done working, the temperature is too high, or the battery is low.
- dawnerd 3mo agoBut Amphetamine has an option to end when an app closes. I’m just so confused why everyone using ai is reinventing solutions that already exist.
- conception 3mo agoEasier to ask Claude than ask google I guess.
- kageroumado 3mo agoClaude Code or Codex (normally) don’t close the terminal window after a turn ends, they wait for the user’s reply.
- flexagoon 3mo agoEveryone dreams about making the next cool AI tool and doesn't bother checking if someone has already made the same thing years ago without the word "AI" in the description
- kageroumado 3mo agoIn order to get the same behavior with Amphetamine you’ll need to: 1. Install it from the AppStore (no brew, no GitHub) 2. Not forget to enable lock on lid close 3. If you ever connect/disconnect power while the lid is closed without the optional “Power Protect” system, the MacBook will sleep. The system is a script and a configuration file making sudo pmset -a disablesleep passwordless. 4. Add hooks to Claude Code configuration that will use Apple Script to start and stop Amphetamine sessions. For Codex you’ll have to make a script that will watch process activity to know when a turn ends. It’s not like Amphetamine can’t do the same, it’s that this app is made specifically for AI agents and nothing else.
- deleted 3mo ago[deleted]
- neoecos 3mo agoI think the same...It happend to me that I just ask Claude to build whatever I need for my personal very specific use case without looking what else it's outhere
- cyclopeanutopia 3mo agoRidiculous bloat.
- WUMBOWUMBO 3mo agoreminds me of ye old caffeinate
- kageroumado 3mo agoCaffeinate doesn’t prevent sleep with the lid closed.
- aqme28 3mo agoThank goodness. I can’t leave my laptop for a second unattended because my cat loves nothing more than to dance on the keyboard. I’ve need something like this.
- EddieLomax 3mo agohttps://github.com/ehamiter/Catlock https://github.com/ehamiter/Catlock
- rancar2 3mo agoFor MacOS, keep awake with: sudo pmset -a disablesleep 1 Reset back: sudo pmset -a disablesleep 0
- kageroumado 3mo agoThis is exactly what the app does, except it ties it to agent activity and re-enables sleep once the turn ends, the laptop is close to overheating, the battery is low, or on a timer.
- xbar 3mo agoNice. I needed this yesterday, and will need it again today.
- hamza_q_ 3mo agoThis works great. Only downside is display doesn't turn off when you close the lid. Made a little status bar utility to wrap the disablesleep command and address that downside: https://github.com/narcotic-sh/modafinil https://github.com/narcotic-sh/modafinil (yes, I know, another *afinil named Mac sleep prevention app? but hey, I was first :P)
- kageroumado 3mo agoAfinils are cool, and your app is cool too~
- hamza_q_ 3mo agoIndeed. Thanks!
- freakynit 3mo agoJust tried. Bare minimal and does exactly what's needed and nothing else. Love it. Thanks..
- 3mo ago
- cyanydeez 3mo agoyou can run opencode inside a docker container and expose it's webui.
- huflungdung 3mo ago[dead]
- mr_toad 3mo agoI’ve often wondered about the thermal performance or running a MacBook with the lid closed. One argument is that the reduced surface area from a closed lid increases temperature. Others argue that not running & rendering the display (and thus GPU) generates less heat. I’m not sure who to believe.
- herrkanin 3mo agoRunning lid closed with external display has been officially supported since forever so I wouldn't worry about it too much.
- Maxious 3mo agoIt is supported https://support.apple.com/en-us/102555 https://support.apple.com/en-us/102555 but thermal throttling reduces performance https://osxdaily.com/2024/04/03/using-m3-macbook-air-in-clamshell-mode-may-reduce-performance/ https://osxdaily.com/2024/04/03/using-m3-macbook-air-in-clam...
- rnagulapalle 3mo ago[flagged]
- lellow 3mo agoInteresting. Kind of similar in purpose, but I created a simple app to schedule and type the "continue" word in my terminal after X time has passed, since I have to wait for my usage to be restored. =)
- slopinthebag 3mo ago15k loc for this? holy cow
- deleted 3mo ago[deleted]
- geor9e 3mo agoCodex recently built this in - "Prevent sleep while running" toggle
- 47 3mo agoI have been using the builtin macOS `caffeinate` command for this. For example: caffeinate -dimsu That keeps the Mac awake so I can use Claude remotely from phone. You can also wrap your command as well, but I rarely use it. caffeinate -dimsu your-agent-command
- zxexz 3mo agoCaffeinate is burned into my muscle memory at this point. I attribute that to the realization that you could repeat opt flags. There's something catchy about caffeinate -dimsum
- port11 3mo agoYum, dim sums with caffeine! I didn’t know you could repeat flags, I’m gonna steal the idea for some of my own scripts.
- kageroumado 3mo agoClaude Code actually uses caffeinate -i -t 300 during Claude’s turn, restarted automatically until the turn finishes.
- steve-atx-7600 3mo agoThe new wave apps named after speed / modifinil must be hard core?
- IncreasePosts 3mo agoAt some point, if you closed the lid and didn't have an external monitor plugged in, macos would put the GPU in power save mode, which would tank local llm performance. Is that not the case any more? There were even small singles you could get which would trick the ps into thinking an external monitor was plugged in
- loeg 3mo agoI don't think this is for running local llms.
- exabrial 3mo agoAmphetamine is what I use. It has a robust set of triggers, like if you ip address changes to a certain subnet (like private IPs on a work network) https://apps.apple.com/us/app/amphetamine/id937984704?mt=12 https://apps.apple.com/us/app/amphetamine/id937984704?mt=12
- anonuser123 3mo agoCame to say this. I've used it for years. Simple and works great!
- 2001zhaozhao 3mo agoWe need people to rediscover remote development desperately, lol.
- AussieWog93 3mo agoHow does this differ from https://github.com/samber/cc-caffeine https://github.com/samber/cc-caffeine?
- kageroumado 3mo agoIt’s an Electron app that uses powerSaveBlocker to prevent display sleep. It won’t prevent macOS system sleep on lid close with no power.
- AussieWog93 3mo agoThanks. This one looks much better!
- deleted 3mo ago[deleted]
- deleted 3mo ago[deleted]
- tangweigang 3mo ago[dead]
- kylehotchkiss 3mo ago`sudo pmset -a sleep 0`
- tam159 3mo agoIt would be great if adrafinil can also track the battery and token usage while agents are working
- NDlurker 3mo agoAdrafinil never seemed to work for me. I tried it a few times when I worked an overnight shift.
- dcan 3mo agoDoes closing the M-series laptop lid no longer throttle the CPU like it did on the Intel ones?
- port11 3mo ago[dead]
- VaporJournalAPP 3mo ago[flagged]
- strus 3mo agoI am always baffled how many people does not know about Amphetamine.
- shobhit98 3mo ago[dead]
- impartshadow 3mo ago[flagged]
- Msurrow 3mo ago> month ago there was a wave of posts and tweets about engineers walking around cafes and parks with their MacBooks propped half-open, as fully closing the lid forces sleep that stops their AI agents Why don’t they just ask the agents to code up something to prevent the Mac sleeping.. and that will auto enable/disable depending on if they have the agent running or not I mean, agents makes human devs redundant, right? This seems like a trivial little problem for an agent to fix
- Rutvik_Pansare 3mo ago[flagged]
- felixlu2026 3mo ago[flagged]
- shoogar 3mo ago[flagged]