Lid-closed runs for AI coding agents

Close the lid.
Keep it running.

Lidlezz keeps your MacBook awake while your coding agent works, throttles everything the moment the lid closes, and puts the Mac to sleep before it gets hot or the battery runs low.

  • One-time purchase
  • 7-day free trial
  • Apple Silicon · macOS 14 or later
claude — ~/work/api
> refactor the auth module and run the tests
● Reading src/auth/session.ts
● Editing src/auth/session.ts
● Running npm test … 128 passed
· Updating middleware/refresh.ts
· 2h 14m elapsed · lid closed
Staying awakeClaude Code working · 2h 14m
SoC temp61°throttle at 85°
Battery84%sleeps at 15%
Power6.2 WE-cores only
40°85° throttle95° sleep
Kept alive
clauderefactor the auth module · 128 tool callsbg QoS
nodejest --watchAll=falsebg QoS
Paused
Time MachinePhotos analysisSpotlight indexing
Stay awake while a coding agent works
Keep awake for 2 hours
Allow sleep at15% battery
Allow sleep after10 min idle

Your Mac, closed
and cool

Drop the MacBook in a bag while the agent finishes the job. Lidlezz handles sleep, heat, battery and background noise, then gets out of the way.

Awake only while neededLid-awareEfficiency coresLow Power ModeTemperature watchedBattery floorIdle timeoutSession resumeAgent hooksSigned helperOffline licenseCommand line

Awake Only While the Agent Works

Your agent's own hooks tell Lidlezz when a session starts, works, waits for a usage limit or finishes. There is nothing to switch on. Every three seconds Lidlezz asks one question, whether the Mac may sleep right now, and holds sleep off only while an agent is actually working.

SessionStartagent working
UserPromptSubmitsleep held off
PreToolUse128 calls
Stopwork finished
+10 minMac sleeps

Claude Code reports every step. Other agents report what they have.

Kept alive
claudemigrate billing to v3 · 412 tool callsbg QoS
claudewaiting for the usage limit to resetbg QoS

Throttled the Moment the Lid Closes

With no external display attached, closing the lid moves the agent and everything it spawned to the efficiency cores, turns on Low Power Mode and pauses Time Machine and Photos analysis. Open the lid and it all comes back.

Lid open
claudeperformance cores
Low Power Modeoff
Time Machinerunning
Photos analysisrunning
→
Lid closed
claudeE-cores · bg QoS
Low Power Modeon
Time Machinepaused
Photos analysispaused

Watched Every Three Seconds

Lidlezz reads the SoC die sensors straight from IOKit, read-only, no root. At 85° it throttles harder. At 95° it saves the session, puts the Mac to sleep and shows the exact resume command when you open the lid.

85° throttle95° sleep
40°60°80°100°
Lidlezz put the Mac to sleepSoC reached 95°. Your session is saved.claude --resume 8f3a1c

Two Switches. Two Sliders.

Whether Lidlezz holds sleep off by itself, a two-hour switch for tools that have no hooks, the battery level where it gives up, and how long it waits after the last job so the Mac does not drop off between two prompts. Everything else is automatic.

Stay awake while a coding agent works
Keep awake for 2 hours
Allow sleep at15% battery
Allow sleep after10 min idle

Command Line Included

The CLI ships inside the app. Watch it work from a terminal, see which agents are wired up, check temperature and battery, or change the two settings without opening the menu bar.

$ lidlezz status
guarding  SoC 61°  battery 84%  lid closed
$ lidlezz agents
claude cursor opencode  codex partial
$ lidlezz hooks install cursor
$ lidlezz battery 20

A Helper That Does One Thing

Keeping a closed Apple Silicon Mac awake needs root for one command. A small signed helper runs it, accepts calls only from Lidlezz's Team ID, and touches nothing else.

  • pmset disablesleep on and off
  • Low Power Mode and tmutil only
  • One approval in System Settings, once
  • Everything undone the moment sleep is allowed again

Plugs into the agent
you already use

Lidlezz wires itself into every agent it finds when you install it. Claude Code stays first class, and the rest get the same heat, battery and throttling protection from whatever their hooks report.

AgentCoverageWhat it reports
Claude CodeFullStart, tool calls, finish, and waits for a usage limit
CursorFullStart, prompt, tool calls, stop, end
AntigravityFullTool calls, stop
opencodeFullTool calls, idle
Codex CLIPartialOnly that a turn finished; the start shows in its processes
Claude for MacManualNo hook API, so you flip a two-hour switch

Codex's hook never says a turn started, but its processes do: it spawns a child process for every tool it calls, and none while it waits on you. Lidlezz counts it as working whenever those children are there and idle again when the hook reports the turn ended, so later turns in an interactive session are covered too. It stays partial because a turn that calls no tool at all goes unnoticed, and Codex says nothing about usage limits. Claude for Mac has no hook API at all, so you flip a two-hour switch in the panel; it expires on its own, so there is nothing to leave on by mistake.

Built for every long
agent run

From a big refactor on the train to an overnight migration on the kitchen table, Lidlezz keeps the session alive and the Mac in one piece.

The commute

Start a task at the desk, close the lid, ride home. The agent keeps going on efficiency cores while the Mac stays cool in the bag.

Overnight runs

Migrations, test suites, dependency upgrades. Let them finish while you sleep, with a battery floor so the Mac never drains to zero.

Usage-limit waits

Claude Code hits a usage limit and waits. Lidlezz knows, keeps the Mac awake through the reset, and resumes the moment work continues.

Meetings

Close the lid, walk into the room. The task carries on in the background and the fans stay quiet on the table next to you.

Big refactors

Hours of file edits and tool calls. Lidlezz watches the heat every three seconds and throttles harder before anything gets uncomfortable.

On battery

Pick the percentage where Lidlezz stops holding sleep off. It gives up before the battery does, and your session is saved either way.

One price.
All your Macs.

One-time payment. No subscription.
Try it free for 7 days, no card needed.

One license per person, for every Mac you own. Keys are verified offline, so Lidlezz never phones home.

Lidlezz app for macOS
$19one-time
  • One-time payment
  • 7-day free trial
  • All your Macs, one license
  • Updates included
  • Native macOS app + CLI
  • Offline, signed license key
Buy with StripeDownload the free trial

Secure checkout by Stripe. Prices are in USD, excluding VAT and may vary by location.
Lost your key? Get it emailed again.

Frequently Asked
Questions

Everything you need to know before closing the lid, from what needs root to what happens when the Mac gets hot.

What is Lidlezz?

A menu bar app for Apple Silicon Macs that keeps the Mac awake while your coding agent runs, throttles everything when the lid is closed, and puts the Mac to sleep before it overheats or runs out of battery.

Why does it need root?

On Apple Silicon the only way to stay awake with the lid closed is pmset disablesleep, which requires root. A small signed helper daemon runs that command and nothing else. macOS asks you to allow it once in System Settings.

Is it safe for my Mac?

That is the whole point. Lidlezz reads the SoC temperature every three seconds. At 85° it throttles harder, at 95° it saves the session and puts the Mac to sleep. It also enforces a battery floor you choose.

What happens to my session when it sleeps?

The agent keeps its own session state. For Claude Code, Lidlezz shows the exact claude --resume command when you open the lid. For the others it names the tool and the folder instead, because there is no resume command it could hand you without guessing at one.

Does it work with an external display?

Yes. With an external display attached macOS already stays awake, so Lidlezz skips the lid-closed throttling and only keeps watching temperature and battery.

Which agents does it work with?

Claude Code, Cursor, Antigravity and opencode report enough for Lidlezz to hold sleep off on its own. Codex CLI reports only the end of a turn, so coverage there is partial. Claude for Mac has no hook API, so you flip a two-hour switch in the panel. Waiting out a usage limit is a Claude Code feature; no other agent reports it.

Which Macs are supported?

Apple Silicon MacBooks on macOS 14 Sonoma or later. Usage-limit awareness needs Claude Code 2.1.234 or later.

How does the license work?

After purchase you get a key in the form LZ-…. It is Ed25519 signed and verified on your Mac, offline. Paste it once under Enter license… in the menu bar panel.

Can I use it on multiple Macs?

Yes. One license per person covers all the Macs you own.

Does Lidlezz send any data anywhere?

No. There is no account and no telemetry. The only network request is a check for a new version on launch and every six hours, which you can see in the panel.

Can I install it with Homebrew?

Yes: brew install --cask witcharon/tap/lidlezz. A DMG is also available on the releases page.

What exactly changes when the lid closes?

The agent and its child processes move to background QoS on the efficiency cores, Low Power Mode turns on, and Time Machine and Photos analysis pause. Opening the lid reverts all of it.

Do I have to set each agent up?

No. Lidlezz connects every agent it finds when you install it. If you would rather do it by hand, lidlezz agents shows what is wired up and lidlezz hooks install cursor connects one.