AwakeMate AwakeMate

🟦 Build tool

Keep your Mac awake during .NET builds

A dotnet build, a dotnet test run, or a dotnet publish with ahead-of-time compilation can run for minutes on a large solution. AwakeMate keeps your Mac awake until it finishes.

Download for macOS Buy AwakeMate

Free 14-day trial · one-time $39.99 · no telemetry · macOS 13+

When your Mac sleeps mid-.NET

Restoring packages, compiling every project in a solution, then running tests or a publish with trimming and AOT all lean on the CPU with no keyboard or trackpad activity. macOS sleeps mid-build, the publish is left incomplete, and an interrupted AOT step means re-running one of the slowest commands in the toolchain.

AwakeMate keeps it awake while .NET runs

AwakeMate recognises the .NET CLI by its process name, dotnet, covering dotnet build, dotnet test, dotnet run and dotnet publish. Detection is on-device and reads only that short name, so your solution stays private.

Detected process: dotnet

Tip: turn on "Sleep when tools go idle"

The .NET CLI does its work in CPU-heavy bursts. With idle-sleep on, AwakeMate keeps the Mac awake while dotnet is building, testing or publishing and lets it sleep once the command exits - ideal for a trimmed AOT publish you start and leave running.

Get the most out of it

More questions about .NETtap to expand

Does one dotnet entry cover build, test and publish?

Yes. They all run under the dotnet process name, so build, test, run and publish are recognised the same way.

Does it work with dotnet watch?

Yes. dotnet watch runs as dotnet. With idle-sleep on, the Mac stays awake during rebuilds and sleeps while you edit.

Will it change my energy or battery settings?

No. It uses the same IOKit power assertion as caffeinate, blocking idle sleep only and leaving your energy preferences untouched.

What's the best way to keep my Mac awake during a long .NET build or publish?

Add the dotnet process to AwakeMate and it keeps the Mac awake automatically across dotnet build, dotnet test and dotnet publish. With idle-sleep on it powers through a trimmed AOT publish and then lets the Mac sleep the moment the command exits - nothing to wrap by hand.

How is this different from caffeinate -i dotnet publish?

caffeinate -i dotnet publish keeps the Mac awake, but only for that single command and only if you remember it each time. It is all-or-nothing with no idle-aware sleep and no status surface. AwakeMate automates the same IOKit assertion per build tool and releases it as soon as the publish is done.

Why does my Mac fall asleep in the middle of an AOT publish?

Restoring, compiling and an AOT or trimming step lean on the CPU with no keyboard or trackpad activity, so macOS reads it as idle and sleeps - forcing you to re-run one of the slowest commands in the toolchain. AwakeMate blocks idle sleep while dotnet runs, without altering your saved energy settings.

Will it keep my Mac awake for .NET with the lid closed, even on battery?

Yes. Turn on "Keep awake with the lid closed" in Settings - Options and approve the one-time helper; AwakeMate then keeps the Mac awake with the lid shut while .NET runs, and dims the built-in screen so it is not draining the battery under the lid. It works on most Apple Silicon Macs (Apple forces sleep on some, so close your lid once to confirm). It works on battery too, but real work drains it faster, so keep it on power for long runs. See how it works.

Keep your Mac awake - exactly when it should be.

Free 14-day trial. One-time $39.99, no subscription. macOS 13+.

Download for macOS Buy AwakeMate