For Claude Code · Codex · Aider
UnIdle keeps your Mac running while an AI coding agent works — through system sleep, a locked screen, even a shut lid on battery — and tells you the instant one actually needs you.
macOS 14+ · Apple Silicon & Intel · No account required
An agent waiting on the model burns almost no CPU — so anything that infers "still working" from CPU usage is wrong exactly when it matters most. UnIdle hooks directly into Claude Code's own lifecycle events: it knows the moment a task finishes or needs your permission, because Claude Code told it so — not because of a guess.
No Accessibility permission, no screen-scraping, no reading what's on your terminal. For Claude Code, UnIdle adds a few lines to your own ~/.claude/settings.json that tell it when a task starts, finishes, or needs you — inspectable, and removed the moment you turn hooks off. For agents without hook support, it falls back to checking whether the process still has a live connection to its model, the same information lsof would give you.
No dashboards to configure. Install it, and it starts working the moment it sees an agent running.
Watches for Claude Code, Codex, Aider, Gemini, Cursor, and opencode automatically. Nothing to set up.
One hotkey locks your screen and walks away. Locking never pauses a process — only system sleep does, and UnIdle is the thing stopping that.
A one-time, narrowly-scoped permission lets UnIdle keep the Mac fully awake with the lid closed on battery — the one case macOS never allows by default.
"Working" vs. "waiting for you" — a real signal from Claude Code's hooks, shown live in the menu bar.
Sound, badge, or a full screen flash the instant an agent needs your permission or finishes a task.
A notification on your phone when you're away from your desk, via ntfy — no companion app to install.
Closing the lid still locks your screen instantly, exactly like it would without UnIdle — the Mac just keeps working behind it.
If UnIdle ever quits mid-session, the sleep override reverts itself automatically on next launch. Your Mac is never left stuck unable to sleep.
"Restore all sleep settings" reverts every change UnIdle has ever made to your Mac's power settings, in one step, anytime.
Short answer: almost nothing, and only what you turn on.
The core of UnIdle — detecting your agent, deciding when to keep the Mac awake — runs entirely on-device. For Claude Code, that detection comes from hook commands UnIdle adds to your own ~/.claude/settings.json, calling a local server on your own Mac. For agents without hook support, it's a local system call checking whether the process is still talking to its model, the same one behind lsof. No server, no account, no telemetry, for any of that.
~/.claude/settings.json (and any .claude-account* variants) that call a tiny local server on your own Mac — nothing leaves your machine. Turning hooks off removes every line it added.ntfy.sh, which is open-source and self-hostable if you'd rather run your own relay.One-time purchase. No subscription, no account required.
Free download. Two minutes to install. No account needed to try it.
Download for Mac — Free