AwakeMate AwakeMate

🦅 Compiler

Keep your Mac awake while Swift compiles

Swift Package Manager builds and whole-module optimisation can run for minutes with the fans up and nothing on screen. AwakeMate keeps your Mac awake until the compiler finishes.

Download for macOS Buy AwakeMate

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

When your Mac sleeps mid-Swift

A swift build -c release with whole-module optimisation, or a long swift test run, pins the CPU but never touches input devices. macOS treats that as idle and sleeps, interrupting compilation right when the optimiser is doing its heaviest work. The build dies, the package cache is left half-written, and you start over.

AwakeMate keeps it awake while Swift runs

AwakeMate spots the Swift toolchain by its process name, swift, covering swift build, swift test and SwiftPM-driven compiles. Detection is on-device and reads only the short process name, so nothing about your project leaves the Mac.

Detected process: swift

Tip: turn on "Sleep when tools go idle"

Swift compilation is a CPU burst followed by quiet. With idle-sleep on, AwakeMate keeps the Mac awake while swift is genuinely compiling and lets it sleep the instant the build or test run completes. Ideal for release builds you kick off and walk away from.

Get the most out of it

More questions about Swifttap to expand

Does it cover both swift build and swift test?

Yes. Both run under the swift process name, so package builds and test runs are recognised the same way.

What about builds driven by Xcode rather than SwiftPM?

Those run as xcodebuild - see the Xcode page. You can add both process names if you switch between them.

Is any data sent anywhere?

No. AwakeMate has no telemetry. It reads only short process names locally to decide when to stay awake.

What's the best way to keep my Mac awake during a long swift build?

Add the swift process to AwakeMate and it keeps the Mac awake automatically whenever swift build or swift test is running. With idle-sleep on it powers through whole-module optimisation, then lets the Mac sleep the moment the compiler exits - no manual command to remember.

Is this any different from running caffeinate -i swift build?

caffeinate -i swift build -c release does keep the Mac awake, but only for that one command and only if you remember to type it each time. It is all-or-nothing with no idle-aware sleep and no status surface. AwakeMate uses the same IOKit assertion automatically for every Swift compile and, with idle-sleep on, releases it the second the build is done.

I'm running a release build overnight on battery - will it drain the Mac flat?

AwakeMate has a low-battery cutoff you can set, so it stops holding the Mac awake once the charge drops below your threshold and lets it sleep to protect the battery. It never overrides your saved energy settings, so thermal throttling still applies during the compile.

Will it keep my Mac awake for Swift 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 Swift 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