Duck's up. Mac stays awake. Work does not faceplant.
Free Apple Silicon Mac menu-bar Duck that keeps local work alive when macOS really wants a nap. No account. No telemetry. No weird cloud leash.
Close the lid. AI agent still working. Render still rendering. Download still downloading. Good Duck.
Close Lid. Walk. |
Mac(Book) Mini. |
Ducking Auto. |
- Don't Let Work Die. Close the lid. Duck keeps the Mac up.
- Ducking Auto. Trusted local work starts. Duck wakes. Work stops. Duck naps.
- Walks With You. Carry the Mac. Duck waddles. Important science.
- Don't Die. Low battery? Duck taps out before the Mac faceplants.
Amphetamine is excellent and packed. If you want the big cockpit, use it.
StayUp is the tiny weird Duck for local AI/tool work: Activity Source receipts prove the job is alive, Auto keeps the Mac awake, then Duck stands down when the receipts go quiet.
If there is no real external monitor, Duck can also make a small fake display for remote GUI tools. Not magic. Just screen-shaped nonsense.
My creator hatched a Duck before Googling hard enough. Duck has learned humility. Duck remains up.
Download StayUp from getstayup.app.
First setup has a few macOS prompts:
- Welcome window: Launch at Login, Helper setup, update preference.
- Helper setup: macOS approval plus one password prompt. This is the lid-closed-on-battery part.
- Sparkle updates: optional signed updates from
getstayup.app/appcast.xml.
No Helper, no hard-case promise. Duck is bold, not fake.
StayUp is a small AppKit app built with swiftc. No Xcode project. No SPM.
Sparkle is vendored so a fresh clone can build without dependency setup.
git clone https://github.com/NongKnot/StayUp.git
cd StayUp
bash build.sh
cp -R StayUp.app /Applications/
open /Applications/StayUp.appFor the real StayUp setup:
StayUp menu -> Settings -> Helper -> Set up
For a notarized local build:
bash build.sh notarizeThat needs a Developer ID certificate and a configured notarytool keychain
profile.
Auto mode is Duck with timing:
work starts -> Duck up
work stops -> grace timer
quiet again -> Duck down
Supported starter sources include Claude Code CLI, Codex CLI, LM Studio, and Ollama. Sources are local and opt-in. Cloud/web work somewhere else does not keep this Mac awake unless a local thing writes a heartbeat.
No telemetry. No analytics. No crash reporting. No accounts.
StayUp reads local Activity Source receipts, optional local session details for the menu, and accelerometer samples only while engaged. Sparkle checks for updates only if enabled or manually requested.
Security notes live in SECURITY.md.
Polite path. Good Duck:
- Open StayUp -> Settings -> Helper -> Uninstall Helper.
- Quit StayUp.
- Drag
/Applications/StayUp.appto the Trash.
Fast path:
pkill -x StayUp
sudo launchctl bootout system/app.getstayup.helper 2>/dev/null || true
rm -rf /Applications/StayUp.app
defaults delete app.getstayup 2>/dev/null || trueIf System Settings still shows a background item afterward, remove it from:
System Settings -> General -> Login Items & Extensions
- BetterDummy by Istvan T.
- apple-silicon-accelerometer by Olivier Bourbonnais
- OxWearables stepcount
- Sparkle for signed updates
/usr/bin/caffeinate, Apple's built-in sleep-prevention tool
The code is MIT. Forks should use their own name and artwork so this Duck keeps his pond.
MIT. See LICENSE.



