Keepresso: keeps a Mac awake while an agent works

Keepresso

A macOS menu-bar app with a CLI, an MCP server and a skill that keeps the Mac awake while an agent works, then lets it sleep

  • 144 ★ on the repository
  • Last commit
  • GPL-3.0
CLI

Extended access

Why this level

  • The app keeps the Mac awake and can wake it on a schedule, so it uses battery and drive wear overnight
  • The Keep me active mode presses keys and moves the cursor and requires Accessibility rights
All reasons and checks

gyorgysh/keepresso

Install

Manual install

brew install --cask gyorgysh/keepresso/keepresso

Or the DMG from keepresso.com. The keepresso CLI installs with the app.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The app keeps the Mac awake and can wake it on a schedule, so it uses battery and drive wear overnight
  • The Keep me active mode presses keys and moves the cursor and requires Accessibility rights

This is third-party code. Review the repository files before installing.

What it does

Keepresso is a native Swift and SwiftUI app for the macOS menu bar. It keeps the Mac awake through `IOPMAssertion` power assertions and adds triggers: charging, an external display, a Wi-Fi network, CPU load, a running app, a scheduled window. The condition AI agent is working watches Claude Code, Cursor, Codex, Gemini, Aider, Goose, Cline, opencode and others. Claude Code, Cursor, Codex and a few more report state through an integration connected with one click, and the rest are judged by CPU load. When every session goes quiet, the Mac sleeps after the grace period you choose. For agents there is a `keepresso` CLI: `lease acquire` takes a lease with a time to live, `lease heartbeat` extends it and `lease release` lets go. The MCP server sits at `/Applications/Keepresso.app/Contents/Helpers/keepresso-mcp`, and a ready `keep-awake` skill ships inside the app. Keepresso also reads the schedule of Claude Desktop and Codex tasks and wakes the Mac before a run.

Who it is for. Owners of Mac minis and MacBooks where agents work overnight and without a monitor: the session does not drop because of sleep.

Good fit when

  • An agent writes code or runs a build all night and the Mac must not go to sleep
  • A monitorless Mac mini serves agents and needs settings checks for headless mode
  • A script or agent needs a wake lease for the length of one task with an automatic deadline
  • The Mac must be woken before a task scheduled in Claude Desktop or Codex
  • A MacBook with the lid closed should keep a long task running on the road

Not a fit when

  • You are on Windows or Linux: the app runs on macOS only
  • The task takes minutes and sleep does no harm: the built-in `caffeinate` command is enough
  • The agent runs in the cloud: Keepresso ignores cloud tasks
  • You want to simulate presence in work chats: the Keep me active option is off by default and requires Accessibility permission

Example request

Keep the Mac awake while this build runs: take a keepresso lease for 10 minutes and extend it until the work finishes.

Limitations

It runs on macOS only. The virtual display for a monitorless Mac is experimental, and writing schedules with `keepresso wake set` is off by default in the Automation settings. The Keep me active mode moves the cursor and presses keys, so it asks for Accessibility access.

Lid-closed mode needs an administrator password: once per app run, or never if you install the optional helper service. For cloud jobs in Claude Desktop, Keepresso does not wake the Mac: it reads only the schedule and the name, never the prompt text.

How to disable. Quit the app and remove it with `brew uninstall --cask keepresso`, or drag Keepresso from Applications to the trash. According to the README, quitting or crashing restores all changes, including key remapping.

FAQ

How do I install Keepresso?

Run `brew install --cask gyorgysh/keepresso/keepresso` or download the signed DMG from keepresso.com. The app updates itself.

How does an agent take a wake lease?

With `keepresso lease acquire --id <uuid> --tool render --task "overnight export" --ttl 600`. While the agent calls `lease heartbeat` the Mac stays awake. If the tool crashes, the lease expires on schedule.

Which agents are detected automatically?

The README lists claude, cursor, codex, antigravity, gemini, grok, aider, goose, cline, hermes, kilo, opencode, qwen and more. Exact state comes from Claude Code, Cursor, Codex, Grok, Antigravity, Hermes Agent, Oh My Pi, Qwen Code, Devin and Kimi Code.

How is this better than caffeinate?

Keepresso knows whether an agent is working and keeps the Mac awake only for that time. `caffeinate` holds it while the command runs and knows nothing about the agent's state.

Is the Keep me active option safe?

It is off by default and steps in only after a few seconds of idle time. Modes such as F15 every 60 seconds or mouse moves need Accessibility rights, which the app requests when you choose them.

Discussion

No questions or reviews yet.

CLI tools

A desktop pet and menu-bar monitor that shows which coding agent is working, done or waiting for your input

CLIBroad access405Repository stars

A local MCP server for Mac: Claude, Codex and ChatGPT work in apps, files, terminal and browser under your permissions

MCP serverBroad access98Repository stars

An MCP server and Mac app that keeps one local index of repos, agent sessions and tickets, with semantic search and work threads

MCP serverExtended access76Repository stars

A macOS app that remembers your screen and opens the history to agents over MCP: search, days, work threads, screenshots.

MCP serverBroad access126Repository stars

A macOS menu bar app writes the text of your focused windows into markdown, and its MCP server serves that record to agents

MCP serverBroad access210Repository stars

Mac screen HUD for agents: quotas, tokens and sessions of Claude Code, Codex and more, plus a built-in MCP server.

MCP serverExtended access395Repository stars

README in short

The README covers triggers, presets, timers and lid-closed mode, then headless Mac setup and leases over CLI and MCP. It also covers Homebrew installation, event hooks that call a webhook or shell command, and free use on business headless machines.

README badge

Report a problem