Apple Silicon thermal governor
Gcoolers
Cool under load. Quiet when idle.
brew install gabe-mills/gcoolers/gcoolers
Install
Two lines. Then quiet.
Apple Silicon · macOS 14+ · MIT. First gcool asks for your password once.
brew install gabe-mills/gcoolers/gcoolersgcoolWhat does gcoolers install change?
/Library/Application Support/Gcoolers/bin/heatwatch-fanRoot-owned fan helperCopied out of your home so the NOPASSWD rule never points at a user-writable path.
/etc/sudoers.d/gcoolersOne sudoers ruleNOPASSWD for that helper only. Validated with visudo. Password once.
~/Library/LaunchAgents/com.gcoolers.daemon.plistUser LaunchAgentStarts the governor at login. Logs to ~/Library/Logs/gcoolers.log.
~/Applications/Gcoolers.appMenu bar appBuilt locally with swiftc. Widget included.
~/Library/Application Support/GcoolersLocal stateconfig, state, history, learn — never leave the Mac.
FAQ
Questions
How do I install it?
brew install gabe-mills/gcoolers/gcoolers, then run gcool once. First run asks for your password for the fan helper.
Is it free?
Yes. MIT licensed, no account, no paid tier. Donations on the support page are optional.
What does install change?
Root-owned fan helper, one sudoers rule, a LaunchAgent, Gcoolers.app, and a local state folder. Details under Install.
Kernel extension?
No. User-space IOKit helper only. Fans return to macOS when Gcoolers stops.
Which Macs?
Apple Silicon, macOS 14+. Fanless Macs get sensors and history, not fan control.
Does it run locally?
Yes. No network calls from the governor. State stays on your Mac.
Meeting Mode?
Detects call apps and holds fans at 42%. Or force it with gcoolers meeting on.
How do I remove it?
Unload the LaunchAgent, brew uninstall gcoolers, remove /etc/sudoers.d/gcoolers and both Gcoolers Application Support folders, then delete ~/Applications/Gcoolers.app.