A minimal, dark-mode terminal screensaver for macOS and Linux. Perfect for when AI agents are working on your laptop and you don't want anyone to touch it — with an optional real OS lock that keeps the machine awake (and even keeps running with the lid closed) so the agent never stops.
pip:
pip install agent-workinguv:
uv tool install agent-workingHomebrew:
brew install infinity811/tap/agent-workingpipx (Linux):
pipx install agent-workingagent-workingPress Ctrl+C to exit. The plain command shows the animated "DO NOT TOUCH"
display and prevents the machine from sleeping while it runs.
| Flag | What it does |
|---|---|
--lock |
Lock the real OS screen (password required) while keeping the system awake. |
--lid |
Keep working even with the lid closed (macOS). Asks for confirmation first. |
-y, --yes |
Skip the --lid safety confirmation prompt (for non-interactive use). |
-h, --help |
Show help and exit. |
These compose — the typical "leave it locked and working" invocation is:
agent-working --lock --lidagent-working --lockLocks the OS screen so nobody can touch the laptop, while keeping the machine awake so your agents keep running behind the lock screen.
- macOS — keeps the system awake with
caffeinate -i(works on AC and battery) while letting the display lock. The lock itself useslogin.framework'sSACLockScreenImmediate— a real, immediate, secure lock with no Accessibility permission required. - Linux — inhibits idle/sleep via
systemd-inhibitand locks the session (loginctl lock-session, withxdg-screensaver/gnome-screensaver/dm-toolfallbacks).
Unlock normally; the timer and caffeinate keep running until you press Ctrl+C.
Why you don't see the animation while locked: the lock is the real, OS-owned secure lock screen, and no terminal app can draw on top of it. Instead, on macOS
--locksets a "agents working - please do not touch" message on the native lock screen (viaLoginwindowText). That needs admin, so--lockprompts forsudoonce; your previous message is restored on exit. Decline sudo and it still locks, just without the custom message. The animation reappears the moment you unlock.
By default, closing the lid triggers clamshell sleep that caffeinate cannot
override, so the agent pauses. Add --lid to keep working with the lid shut:
agent-working --lock --lidThis disables lid-close sleep via pmset disablesleep 1 (needs sudo once) and
restores your previous setting automatically on exit. macOS only — on other
platforms the flag is ignored with a notice.
--lid shows a prominent warning and requires explicit confirmation before
changing anything:
- Type anything other than
y→ the lid feature is cancelled (the lock still works; the Mac just sleeps on lid close). - No terminal to ask (piped/automated) → it refuses rather than silently
keeping the lid awake. Pass
-y/--yesto accept the risk non-interactively.
⚠️ Heat & battery warning. With the lid shut and no airflow, a Mac running at full power can overheat. Use--lidonly while plugged into power and on a hard, open surface — never in a bag or under cover.
- Dark red, sleep-friendly display
- "DO NOT TOUCH" ASCII banner with a live timer of how long agents have worked
- Live AI news from TechCrunch / The Verge (refreshes every 30 min)
- Prevents sleep automatically (caffeinate on macOS,
systemd-inhibiton Linux) --lock— real secure OS lock + custom lock-screen message, while staying awake on AC and battery--lid— keep agents running with the lid closed (macOS), with a mandatory safety confirmation and automatic restore on exit
- macOS or Linux
- Python 3.8+
--lockmessage and--lidusesudoon macOS (you'll be prompted once)
MIT
