Caffeination with an off switch
Keepresso keeps your Mac awake, on your terms
Your Mac sleeps at the worst moments: mid-download, mid-render, mid-call, mid-agent-run. Keepresso keeps it awake exactly when it should be, then lets it rest. Free and open source, it lives in the menu bar with no account, no trackers, and no license fee.
Closed-display mode
Close the lid, it keeps working
Not clamshell: no external display, no dock, no power cord. Just the app, on battery if you like.
Works on battery
Shut the lid and keep going, even unplugged. Apple's built-in closed-display mode needs power and an external monitor; Keepresso does not.
Screen off, protected
The display turns off inside the closed lid, so nothing sits lit in your bag while the Mac keeps working.
Everything else stays up
Downloads, builds, agents, SSH, and backups run to completion with the lid shut. How it works →
Keep me active
Stay active, even when you step away
Remote-desktop sessions, VDI, and chat apps flip you to away the moment you stop typing, and some corporate systems log you out for it. Keep me active reports activity to macOS so you stay present while you read, watch, or think.
Beat the idle logout
VDI, Citrix, and remote-desktop sessions lock or drop when they decide you are idle. Keep me active keeps the session live, so a long read or a running job does not get you kicked out.
Green in Teams and Slack
Your presence dot stays Active instead of flipping to Away the second the mouse goes still, so people see you as around when you are at your desk but not typing.
One honest signal
It reports activity the way macOS expects, the same real-assertion approach as the rest of Keepresso, no jiggled cursor and no faked keystrokes. Keep your status active →
Gaming and streaming
Smooth frames, hands off
macOS shares your Wi-Fi radio with AWDL, the layer behind AirDrop and Handoff, and every scan for nearby devices is a latency spike. Keepresso spots the session and quiets the radio for it.
Auto game detection
Spots Steam titles and the cloud and streaming clients, GeForce NOW, Boosteroid, Parsec, Moonlight, and Shadow, plus a controller in your hands: DualSense, Xbox, any gamepad, even the Steam Controller macOS never reports as one. The one-click Gaming preset also holds the Mac awake through Steam downloads and launcher patches.
Fixes the stutter at the source
Pauses AWDL while you play so the Wi-Fi radio stops hopping away mid-frame, then restores it cleanly when you stop. An opt-in switch raises the game's CPU priority through the helper, so background work cannot steal frames. Live status shows whether AWDL is paused or in a grace countdown. No terminal, no watchdog script to remember.
Test before you play
A built-in jitter test checks the link before a match, alongside radio-hygiene checks that flag a wired option, Bluetooth interference, and the clean Wi-Fi channel for your region (44 in the EU, 149 in the US and Canada). The Cloud Gaming and Remote Control presets are one click. The AWDL deep-dive →
Headless Mac mini and Studio
No monitor? Reach it like it has one
Tuck a Mac mini or Mac Studio away as a build box, agent host, or home server. Keepresso walks you through making it stay awake, survive a power cut, and come back on its own, then serves a crisp Retina desktop over Screen Sharing, so checking logs or your MyAgens panel feels like sitting right in front of it.
Guided headless setup
The Headless Setup checklist probes sleep, auto-restart, auto-login, and remote access, with one-click Settings links and copyable commands. It reads your Mac and never changes a thing on its own. The headless checklist →
Crisp Retina over Screen Sharing
An experimental HiDPI virtual display serves a sharp, pixel-doubled desktop instead of the fuzzy 1920 × 1080 a screenless Mac falls back to. No dummy plug, no kext, nothing to buy. How it works →
Comfortable from anywhere
Read logs, watch a build, or open your MyAgens panel like you are sitting at the machine, whether it lives in a closet, a rack, or another city.
Preferences
Set it and forget it
Everything configurable lives in seven tabs, with the Gaming & Streaming tools in their own window. The menu stays a one-click affair.




Built for the agentic era
The quiet must-have for an always-on Mac
Macs increasingly run unattended: agents, builds, renders, local LLMs. A Mac that dozes off mid-task is the cheapest problem to fix.
AI agents
Leave an agent running overnight and your Mac stays up only while it works. The AI agent trigger watches claude, cursor, codex, gemini, and friends in your terminals, and stands down once the last session has been quiet for the grace period you set. Connect Claude Code, Cursor, Codex, or Antigravity and each session reports its own state, so a pause for a permission prompt still counts as working.
Agents hold it awake, safely
An agent can hold the Mac awake itself, through a bounded lease it keeps renewing: if the tool crashes, the lease simply expires. A bundled MCP server and a one-click skill teach any agent the protocol. Leases, MCP, and the skill →
Builders and vibe coders
Long builds, training runs, and overnight jobs finish instead of getting cut short by sleep. A scheduled wake, or a synced Claude Desktop or Codex routine, gets the Mac up before the night shift, and an event hook can ping your phone when the run is done.
Studios and render farms
Long renders and exports run to completion, untended. Headless Mac minis and Studios stay up with no license fee, business included.
Everything it does
Awake only when it should be
Every situation where a Mac should not doze off, covered. Real macOS power assertions, not fake mouse jiggles, so it stays up exactly as long as your conditions hold.
AI-agent trigger
Stay awake while a coding agent is actually working, not just sitting open. Finds claude, cursor, codex, gemini, and friends in your terminals and measures each session against its own idle level, so a TUI that animates while idle and a near-silent one are both judged fairly. Claude Code, Cursor, Codex, and Antigravity can report their state directly, with no CPU reading needed.
Gaming triggers
Stay awake while a game or cloud client is in front, while a game controller is on (DualSense, Xbox, any gamepad, even the Steam Controller, detected permission-free at the hardware level), or while Steam is downloading or updating a game in any library.
Meeting-aware
Stay awake while anything uses the camera or the mic, read from device state without touching the stream, so there is no permission prompt. One rule covers every meeting app, including calls in a browser tab, or scope it to a single app so only a Slack, Discord, or Zoom call counts.
Trigger engine
Stay awake only while charging or on battery, when an external display is connected, on a chosen Wi-Fi or VPN, or while a specific app runs. Combine conditions with any or all, and pause it all with one click.
Network-activity and download triggers
Stay awake while network throughput sits above a rate you pick, 100 KB/s up to 5 MB/s, or while a watched folder has a download landing in it, so a big transfer finishes instead of stalling.
Schedule trigger
A daily time window on the days you choose: weekdays 9:00 to 18:00, or an overnight 22:00 to 6:00 that runs past midnight. Work hours and Overnight starting points included.
Audio-playing trigger
Stay awake while sound is playing: music, a video, a podcast. A 30 second release grace rides out track gaps and brief pauses so the session does not flap.
CPU-load trigger
Holds the Mac up while smoothed CPU usage sits above a threshold you pick. Long builds, renders, and training runs stay awake; a momentary spike does not.
Bluetooth trigger
Stay awake while a paired Bluetooth device is connected: a controller, headphones, a trackpad. A 30 second grace period rides out a brief drop so the session does not flap.
Calendar trigger
Hold the Mac up during events on your calendar, so a meeting, a class, or a booked block on the day keeps it awake with no manual switch.
Volume trigger
Stay awake while a chosen external drive, SD card, or network share is mounted, and let disk keep-alive stop it spinning down mid-job.
Any duration, or until a time
Presets, a custom hours-and-minutes duration, or a session that ends at a wall-clock time, later today or tomorrow if it already passed. Mid-session, one click converts it to stop in 15, 30, or 60 minutes.
Presets
Apply a named trigger bundle in one click: Meetings, AI Agent, Gaming, On AC Power, External Display, Remote Session, Backup Running, Media Render, and more, or save your own rule sets. Restore a default you deleted.
Activity pane
Why is my Mac awake? The menu names whatever app is holding it up, and the Activity pane lists every app's live power assertions, plus a decision log of why each session started or stopped. The log survives a relaunch, with a seven-day summary of how long Keepresso held the Mac awake.
System-wide shortcut
Set a global hotkey to start or stop keep-awake from any app, without reaching for the menu bar. Toggle a session in the middle of a task and carry on where you left off.
Start on launch
Begin a keep-awake session automatically the moment Keepresso opens at login, so an always-on Mac is already holding itself up before you sit down to touch it.
Export and import settings
Save your whole setup, triggers, presets, and rules, to a file, then import it on another Mac or after a clean install, so you are not rebuilding conditions from scratch.
One password, ever
Every privileged switch, closed-display mode, the gaming AWDL pause, a fan boost, a game's CPU priority, a scheduled wake, once meant an admin password prompt. Approve the helper a single time under Login Items and each of them is instant and silent after that. It rides out restarts, updates itself along with the app, and lifts out from the same place.
Scheduled wake
Install a one-shot or repeating system wake through the admin helper, then start a keep-awake session, or leave the triggers in charge, once the Mac is up. It can even sync the recurring runs Claude Desktop or Codex schedule locally and wake the Mac just before each one, so overnight jobs stop losing the race to idle sleep. Reliable on AC power; on battery the firmware may skip the wake.
Thermal safety net
A guard for the one Mac that cannot help itself: held awake with the lid shut, then forgotten, maybe slid into a bag. Watch macOS thermal pressure or sensors you pick; on sustained heat it can boost the fans, then pauses the session and lifts the sleep override so the Mac truly cools. A Test Fans check proves the whole path before you need it.
Reminders and end-of-session actions
A still-brewing notification after N minutes, with an optional sound, so a forgotten session can't drain the battery. When a session ends on its own, it can sleep the display, start the screen saver, lock the screen, or put the whole Mac to sleep.
Battery-aware auto-pause
Let the Mac sleep once charge drops below a threshold you choose, even in the middle of a session, so a keep-awake rule never runs the battery flat. When it pauses, a notification says why, and plugging in picks the session back up.
Dim the display when idle
Keep the screen awake but drop it to its dimmest a few minutes after you step away, then snap your brightness back the moment you return or the session ends. Kinder to the panel and the battery on an overnight run than a screen left fully lit.
Yield the screen saver
Let the screen saver or display sleep kick in after a few idle minutes while the system itself keeps working, so the machine stays busy but the screen still gets to rest.
Keep me active
Report activity to macOS so remote-desktop sessions, VDI, Teams, Slack, and corporate logout timers keep seeing you as present, with no mouse to jiggle and no fake keystrokes.
Closed-display mode
Keep running with the lid shut and no external display, on power or battery. The screen turns off inside the closed lid, so nothing sits lit in your bag.
Event hooks
Run a Shortcut, POST a webhook, or run a shell command when something happens: a session starts or ends, a trigger fires or releases, a battery or thermal pause hits, an AI agent goes idle. A push to your phone when the overnight run finishes is one hook away.
Command-line tool
A keepresso CLI drives the app from scripts and pipelines: start, stop, toggle, and status with a JSON status file, plus lease and wake commands for automation. Or hold the Mac awake caffeinate-style, with no app at all, until a process exits or you hit Ctrl-C.
Automation leases
Scripts and AI agents hold the Mac awake through bounded leases they must keep renewing, so a crashed tool's lease simply expires. Live countdowns in the menu, Stop ends them all, and a bundled MCP server plus a one-click agent skill teach Claude Code, Gemini CLI, Grok, or Codex the whole protocol.
Fifteen languages
The whole app is translated: the menu, the Setup and Gaming and Streaming screens, notifications, VoiceOver labels, and the desktop widgets. Pick your language in Preferences or on the Welcome screen, or let it follow the system.
Shortcuts and URL scheme
First-class Shortcuts actions (start, stop, toggle, optionally for N minutes) that work from Spotlight and Siri too, plus keepresso://start?duration=60 or until=18:00 for Raycast, Alfred, and scripts.
Widgets and Control Center
Live-countdown desktop and Notification Center widgets on macOS 14 and up, plus a Control Center toggle on macOS 26 to start or stop a session, all without opening the menu.
Headless-Mac toolkit
A setup checklist probes sleep, auto-restart, auto-login, and remote access, and an experimental HiDPI virtual display keeps Screen Sharing crisp with no dummy plug.
Install
One brew away
Either way, Keepresso keeps itself up to date from there with signed Sparkle releases.
Homebrew
Installs the signed, notarized app straight from the tap, and puts the keepresso command on your PATH so scripts can reach it right away. Update along with the rest of your casks, or let the app update itself.
Manual
Download the latest DMG from Releases, drag Keepresso to Applications, and launch it. Click the cup in the menu bar and you are brewing.
Want the keepresso command too? A DMG install does not touch your PATH, so link it once.
Closed-display mode flips a system setting (pmset disablesleep), so it needs administrator approval. Approve the helper once under Login Items and it never asks again.
Works well with
Already running agents on that always-on Mac? MyAgens gives it a crew of Claude Code agents you command from Telegram: approvals, memory, and scheduled runs, all from your phone.
Keepresso keeps the lights on. MyAgens works the night shift.
MyAgens.com