What CoolCurve actually does to your Mac's fans
CoolCurve reads Apple silicon fan and sensor hardware through the SMC and lets you set a curve instead of trusting firmware alone. Here is the privileged helper behind it, the four ways your fans return to Apple's control, and the two real gaps in that safety net worth knowing before you buy.
On this page
Your fan spins up hard during a video call, drops to nothing a minute later, then climbs again while the machine sits at the login screen, and you want a lever instead of a guess. CoolCurve reads the temperature sensors and fan hardware on Apple silicon Macs through the same System Management Controller macOS itself uses, then lets you set a fan curve, a fixed target, or a sensor triggered rule instead of leaving every decision to firmware. It requires a recent macOS, listed on the app page, and every path back to Apple's own automatic control is built into the app rather than left for you to remember.
I build CoolCurve. Every fact about the app traces to its own source code or to Apple's published documentation, checked on 23 July 2026.
The gap between silence you do not trust and noise you do not need
Apple's firmware is conservative by design, and conservative cuts both ways. It will tolerate a warm chip quietly for a while, which is fine until you are the one who can feel the machine getting hot under your wrists. It will also spin a fan hard for a background task you cannot see and could not explain if asked. CoolCurve exists for the space between those two defaults: a curve you set once, tied to a sensor you can watch, that answers to you instead of to a policy tuned for the median user Apple can never meet exactly.
That is a narrower promise than it sounds. CoolCurve cannot make a fan quieter than the hardware can physically run, and it cannot see inside a process to tell you why it is hot. What it can do is give the fan a rule instead of a mystery.
See what your own Mac reports before you decide anything.
CoolCurve runs its full feature set during the trial, so the empty state on a fanless Mac or a clean answer on anything else shows up before you pay for either.
How it reaches the fan without ever asking for your password
Fan writes on a Mac require a privileged helper, and CoolCurve registers its helper through SMAppService, the same API Apple wants used for background daemons now. That call never produces a password prompt. The first registration leaves the helper sitting at a requires approval state, and CoolCurve deep links you straight to System Settings > General > Login Items & Extensions, where the toggle itself is the entire installation step. The app polls that status every few seconds afterward, because SMAppService has no way to notify you when you flip it, so it has to ask rather than wait to be told.
The helper only answers a caller whose code signature and Apple Developer team identifier match what it expects. That check runs on every connection, not once at launch, so a different process asking to move your fans gets nothing.
Getting a fan to accept a manual number is not one write
Asking the SMC to hand over manual control is a mode key write, and the firmware does not always release its own automatic mode instantly. CoolCurve tries the direct write first. If the firmware answers with its own busy code, the helper retries roughly ten times a second for up to ten seconds, because bailing out after one attempt would report a failure that was actually just a firmware still finishing its last thought. Holding that mode afterward takes continuous work too: a background daemon on the Mac reclaims manual control on its own schedule, so CoolCurve's helper reasserts the mode and the target every second and a half for as long as a fan stays under your control. Stop reasserting, even briefly, and the machine will quietly take manual mode back without telling you.
None of this is a workaround for a limit Apple intends to enforce. A hard ceiling sits inside the helper, not the interface: if any sensor reads ninety five degrees Celsius or higher, every fan in your plan drops back to Automatic immediately, and the curve editor draws that number as its own line so you can see the floor CoolCurve will not cross for you.
Four ways your fans come back, and one gap I will name plainly
Three of the four live in the privileged helper, not the app. The helper's own signal handlers catch SIGTERM and SIGINT and release every fan as it shuts down, whatever caused that shutdown. If the XPC connection between the app and the helper drops for any reason, that also triggers a release. If the app stops sending its heartbeat, every fifteen seconds without one hands every fan back regardless of why the heartbeat stopped, crash included. And a sweep at the helper's own startup resets any fan mode left over from an unclean shutdown before it even opens itself up to new connections.
Sleep and wake are not one of those four paths. Closing the lid does not run any code that releases your fans, because nothing in the app or the helper listens for a sleep or a wake notification at all. In practice this rarely matters, since a sleeping Mac is not actively running your curve against live sensors, but it is a real gap between what people assume an app like this does and what the code actually watches for, and I would rather say so than let you find out by wondering later.
Quit itself has a related honesty problem worth naming. The app fires the restore call and returns immediately rather than waiting for it to finish, so on a normal quit your fans are usually back on Automatic within a moment, but the only true backstop if that call never lands is the fifteen second heartbeat timeout running in the helper. Most of the time you will never notice the gap. It exists anyway.
What still needs a trip to System Settings
There is no button inside CoolCurve that removes the helper once you have approved it. The code path exists, and nothing in the app ever calls it. Taking the helper out again means opening System Settings > General > Login Items & Extensions yourself and turning it off there, the same place you turned it on. The full sensor pipeline behind every number on the dashboard is worth reading if you want to know exactly what is feeding the curve you are about to draw, and if a fan is loud today for a reason you have not found yet, working through the checklist before touching a setting will usually get there faster than a curve will.
Macs and habits this is not built for
A MacBook Air, and any other Apple silicon Mac with no fan, gives CoolCurve nothing to control. Fan discovery just asks the SMC how many fans exist, and a machine with none returns an empty list. The app shows a plain no fans detected message rather than telling you your Mac is fanless by design, so if that describes your machine, monitoring is still yours during the trial, but there is no curve to draw and no reason to buy past that point.
There is no Intel build. Every compile targets Apple silicon only, so an older Intel Mac cannot run this regardless of what its fans need. And if a safety release fires, from the heat ceiling or a lost heartbeat, CoolCurve does not quietly resume your curve once things cool down. The plan drops to Automatic and stays there until you reopen the app and put it back, which is deliberate: resuming a manual target on its own after an unexplained safety trip is the one shortcut that would turn a safeguard into a new failure mode.
Questions people ask
Does CoolCurve need my admin password to install?
No. SMAppService does not prompt for one. You approve the helper in System Settings the same way you would approve any other login item, by flipping a switch rather than typing a password.
What happens to my fans if I force quit CoolCurve?
The helper's own heartbeat timeout is the backstop. If it stops hearing from the app for fifteen seconds, it releases every fan to Automatic on its own, independent of how the app process ended.
Can a rule take over a fan that is set to Automatic?
No. Rules and curves only govern fans already under manual or curve control in your plan. A fan left on Automatic stays there even if a rule's condition is met.
Will my curve come back on its own after the ninety five degree ceiling trips?
No. That release is meant to end a session, not pause it. You have to reopen CoolCurve and reapply the plan yourself once the machine has cooled.
Changelog: 22 July 2026, rewritten from a short product summary into a full explainer covering the helper, the restore paths, and what the app does not do.