https://github.com/happycodelucky/awake
Awake is a native macOS menu bar app that keeps your Mac awake for a chosen duration while surfacing managed-device policies that may still interrupt your session. It is built for Apple Silicon Macs running macOS 15+ and is especially useful for long-running local work such as AI agents, builds, downloads, and unattended tasks.
https://github.com/happycodelucky/awake
apple-silicon caffeinate macos menu-bar productivity swift
Last synced: 2 months ago
JSON representation
Awake is a native macOS menu bar app that keeps your Mac awake for a chosen duration while surfacing managed-device policies that may still interrupt your session. It is built for Apple Silicon Macs running macOS 15+ and is especially useful for long-running local work such as AI agents, builds, downloads, and unattended tasks.
- Host: GitHub
- URL: https://github.com/happycodelucky/awake
- Owner: happycodelucky
- License: other
- Created: 2026-03-08T05:18:58.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-04-01T18:51:15.000Z (3 months ago)
- Last Synced: 2026-04-02T06:10:30.658Z (3 months ago)
- Topics: apple-silicon, caffeinate, macos, menu-bar, productivity, swift
- Language: Swift
- Homepage:
- Size: 404 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Awake


[](https://github.com/happycodelucky/awake/actions/workflows/ci.yml)
[](https://github.com/happycodelucky/awake/releases/latest)
[](LICENSE)
[](https://github.com/happycodelucky/awake/graphs/commit-activity)
> **AI Experiment:** This app was almost entirely written by AI (Codex & Claude Code), but lately needing much human oversight and architecture. It's an experiment in AI-assisted software development — the design, architecture, and code are AI-generated. Use it, learn from it, fork it.
**Keeps your Mac awake** — beyond what `caffeinate` can do.
Awake is a macOS menu bar utility that prevents your Mac from sleeping for a set duration. Unlike `caffeinate`, it's MDM-aware: it reads your managed profiles and warns you when enterprise policies — auto-logout, screensaver timeouts, login window idle settings — may still interrupt your session. Built for long-running local work like AI agents, builds, downloads, and unattended tasks.

## Features
- **Timer presets** — 5m, 10m, 15m, 30m, 1h, 2h, 4h, 8h, 12h — pick one and go
- **Pause & resume** — hold Option to pause instead of stop, preserving remaining time
- **Two sleep modes** — keep the display on for presentations, or let it sleep while the system stays awake for background work
- **MDM policy detection** — warns you when enterprise policies like auto-logout or screensaver timeouts may interrupt your session
- **Persistent sessions** — timer survives app restarts and picks up where it left off
- **Auto-updates** — checks for new versions via Sparkle and shows update prompts in the menu
- **Menu bar native** — lives in your menu bar with a live countdown, stays out of your way
## Install
[Download the latest release →](https://github.com/happycodelucky/awake/releases/latest)
Or install via Homebrew:
```bash
brew tap happycodelucky/tap
brew install --cask awake
```
## Build from Source
Requires Xcode (not just Command Line Tools), Apple Silicon Mac, macOS 15.0+.
```bash
./scripts/bundle_app.sh
open dist/Awake.app
```
See [docs/build.md](docs/build.md) for environment variables, signing options, and CI/CD details.
## Usage
1. Click the **Awake** mug icon in your menu bar
2. Pick a duration preset
3. A countdown pill appears in the menu bar — your Mac won't sleep until it hits zero
4. Toggle **Keep display awake** off if you only need background protection
5. Hold **Option** while clicking stop to pause instead
If your Mac is managed by an enterprise profile, Awake shows a warning card describing which policies may still interrupt your session. See the [MDM awareness guide](guide/mdm-awareness.md) for details.
## Documentation
| Audience | Location | Contents |
|----------|----------|----------|
| Users | [`guide/`](guide/) | [Getting started](guide/getting-started.md), [Features](guide/features.md), [MDM awareness](guide/mdm-awareness.md) |
| Developers & agents | [`docs/`](docs/) | [Architecture](docs/architecture.md), [Build system](docs/build.md), [Homebrew](docs/homebrew.md), [Sparkle](docs/sparkle.md), [MDM policies](docs/mdm-policies.md) |
## Roadmap
- [ ] **IPC / MCP control** — allow AI agents and external tools to start, stop, and query Awake sessions programmatically
- [ ] Swift tests for timer logic and policy parsing
- [ ] Automatic release promotion from tags once the release process settles
## License
[PolyForm Noncommercial License 1.0.0](LICENSE)
Free to use, modify, and share for non-commercial purposes. Commercial use is not permitted.