v1.1.0Free · Open source · MIT license

Fan control for Apple Silicon Macs, from the menu bar.

MacFanPilot shows your CPU and GPU temperature and fan speed at a glance, and lets you decide how the fans behave: leave them to macOS, follow a temperature curve, or hold a fixed speed.

Version 1.1.0 · about 1 MB · macOS 14 or later · Apple Silicon only

macOS asks you to approve the app the first time you open it. It takes about a minute. See how →

MacFanPilot is a Mac app. It does not run on phones or tablets — open this page on your Mac to download it.

MacFanPilot in the menu bar, set to show temperature and fan speed: 59° · 3250.
The MacFanPilot popover. CPU 59°, GPU 48°, a chart of both over the last 5 minutes, the left and right fan at 3250 rpm, and the presets Automatic, Balanced, Performance, Full Blast and a custom one named Quiet. Balanced is ticked.
  • Native and tiny

    Built with SwiftUI, no third-party code, about 1 MB. Lives in the menu bar with no Dock icon.

  • Fully offline

    No account, no analytics, no network connections at all. Nothing leaves your Mac.

  • Hands the fans back

    If the app quits, crashes or loses its sensors, macOS takes over the fans again.

Four presets. Or draw your own.

Switch with one click from the popover. Drag the temperature to see how each built-in preset responds.

Hottest sensor

70 °C

  • Automatic

    macOS controls the fans.

  • Balanced

    Rises from 50 °C to full speed at 92 °C.

  • Performance

    A steeper curve, from 40 °C to full speed at 85 °C.

  • Full Blast

    Maximum speed.

Each bar is what the preset asks for, as a share of the fan’s range between its minimum and its maximum speed. Automatic leaves the fans to macOS.

Custom presets

Hold a fixed speed in rpm, or draw a curve of 2 to 8 points that follows the hottest CPU core, the CPU average, the GPU, or the hottest sensor overall.

MacFanPilot Settings, Presets tab. A custom preset named Quiet is selected: all fans, Curve mode, following the hottest CPU core, with a five-point curve from 0% at 55 °C to 100% at 94 °C and a marker at the current 59°.

The popover

CPU and GPU temperature, a chart of the last five minutes, the speed of each fan, and one-click preset switching.

The outlined fan icon in the menu bar with the popover open below it. CPU 76°, GPU 52°, both fans at 0 rpm, and Automatic ticked in the list of presets.
  • Menu bar readout

    Icon only, CPU temperature, fan speed, or both. An outlined fan means macOS controls the fans; a filled fan means a preset is running.

  • Per-fan control

    On a Mac with two fans, each fan can have its own mode.

  • Import and export

    Save presets as a file to move them to another Mac.

  • Automatic on battery

    Optional. Presets pause on battery and return when power is connected.

  • Shortcuts and Focus

    A “Set Fan Preset” action for the Shortcuts app, usable from keyboard shortcuts and automations, and a Focus filter that switches preset while a Focus is on.

  • Notifications

    Optional. Get an alert when fan control stops or the overheat protection takes over.

  • Sensors tab

    Lists every temperature sensor the Mac exposes.

  • Launch at login

    Restores the last preset. Celsius or Fahrenheit.

Built to
fail safe.

The fans are driven by a small system helper, and that helper is the safety net. It gives the fans back to macOS when:

  • you choose Automatic or quit the app
  • the app crashes or stops responding for 20 seconds
  • the Mac shuts down or restarts
  • temperatures cannot be read
  • macOS rejects the fan commands

fans returned to macOS

Overheat protection

If any CPU or GPU sensor reaches 100 °C, every fan runs at full speed until it cools to 95 °C, whatever the preset says.

Within the fan’s own limits

It never asks a fan for a speed outside the range the fan itself reports.

The chip still protects itself

Fan control changes noise and temperature. It does not switch off the chip’s own thermal protection.

Please note. Fan control on Apple Silicon relies on behaviour Apple does not document, and a macOS update can change it. If control is refused, MacFanPilot says so and keeps working as a monitor. The software is provided as is, without warranty.

Privacy

Nothing leaves your Mac.

MacFanPilot contains no networking code. It has no account, no telemetry and no update checks. Presets and settings are stored only on your Mac. The source code is public, so this can be checked.

Download and install

Six steps. About a minute.

MacFanPilot is not notarized by Apple, so macOS will not open it on the first try. That is expected. You approve it once in System Settings, and the steps below show how. The app is open source, and you can verify the download with the checksum below or build it yourself.

  1. 1

    Download and copy

    Open MacFanPilot-1.1.0.dmg and drag MacFanPilot into Applications.

    It must run from Applications; fan control cannot be set up while the app runs from the disk image.

    The opened disk image: a window with the Applications folder and the MacFanPilot app.
    The window that opens.
  2. 2

    Open it once

    Open MacFanPilot from Applications. macOS shows a warning that Apple could not verify the app. Click Done.

    Do not click Move to Trash. It is the highlighted button, so do not press Return either.

    macOS dialog: “MacFanPilot” Not Opened. Apple could not verify “MacFanPilot” is free of malware that may harm your Mac or compromise your privacy. Two buttons: Move to Trash, which is highlighted, and Done.
    The warning.
  3. 3

    Allow it in Privacy & Security

    Open System Settings → Privacy & Security and scroll down to the Security section. Next to the message that MacFanPilot was blocked, click Open Anyway, confirm with Open Anyway again, and enter your password or use Touch ID. You only do this once.

    • The Open Anyway button appears only after you have tried to open the app, and stays for about an hour.
    • On macOS 14 you can instead Control-click the app in Applications, choose Open, then Open again.
    The Security section of Privacy & Security in System Settings: “MacFanPilot” was blocked to protect your Mac, with an Open Anyway button next to it.
    The bottom of Privacy & Security.
    macOS dialog: Open “MacFanPilot”? Apple is not able to verify that it is free from malware. Three buttons: Move to Trash, which is highlighted, Open Anyway and Done.
    The dialog that follows. This time the button you want is in the middle.
    Prefer Terminal?

    Instead of step 3, remove the quarantine flag with this command:

    $ xattr -dr com.apple.quarantine /Applications/MacFanPilot.app
  4. 4

    Find it in the menu bar

    MacFanPilot has no Dock icon and no window. Look for the fan icon in the menu bar and click it.

    Temperatures and fan speeds work straight away, with no further permission.

    The fan icon in the menu bar with the popover open on a first run: temperatures, both fans at 0 rpm, the presets with Automatic ticked, and below them an orange line, “The helper is missing from the app bundle.”, with a Try again link.
    The icon and its popover on a first run. The orange line is how version 1.1.0 says that the fan helper is not installed yet; nothing is missing, and step 5 takes care of it.
  5. 5

    Turn on fan control

    In the popover, click the link under the presets. On a first install it reads Try again; if the helper was installed on this Mac before, it reads Install helper to control fans…. System Settings opens at General → Login Items & Extensions (called Login Items on macOS 14). In the list of apps allowed to run in the background, switch MacFanPilot on and confirm with your password or Touch ID. Go back to the menu bar icon and pick a preset.

    Until you approve it, the popover shows “Allow MacFanPilot in Login Items to control fans…”, which opens the same place.

    System Settings, Login Items & Extensions. Under the heading App Background Activity is the row MacFanPilot, “1 item: 1 item affects all users”, with its switch turned on.
    MacFanPilot in the list, switched on. Your other apps in the list are left out of this picture.
    The popover while the helper waits for approval. Under the presets is a link: Allow MacFanPilot in Login Items to control fans…
    The popover while it waits for your approval.
  6. 6

    Optional settings

    Click Settings… in the popover to turn on Launch at login, choose what the menu bar shows, or switch Notify when fan control stops off.

    macOS asks once for permission to show notifications, the first time there is something to report.

    MacFanPilot Settings, General tab: Launch at login, Menu bar shows, Units, Refresh every, Use Automatic on battery, Notify when fan control stops, the fan control helper with its status Installed and an Uninstall button, the version and Copy Diagnostics.
    Settings, with the helper installed.

What MacFanPilot asks for

PermissionNeeded forRequired?
Open Anyway in Privacy & SecurityOpening an app Apple has not notarizedYes, once
Background item in Login Items & Extensionsadministrator approvalThe helper that sets fan speedsOnly for fan control. Monitoring works without it
NotificationsAlerts when fan control stopsOptional
Launch at loginStarting with your MacOptional

It never asks for Accessibility, Full Disk Access, Screen Recording, location or network access.

Why a helper?

macOS lets any app read temperatures, but only a process with administrator rights can set fan speeds. MacFanPilot installs a small helper for that one job. It runs only while a preset is controlling the fans, it only accepts commands from MacFanPilot itself, and you can remove it at any time in Settings.

Which Macs it runs on

  • Supported

    Apple Silicon Macs on macOS 14 or later.

  • Tested

    MacBook Pro with M3 Pro on macOS 26. Other models are expected to work but are untested.

  • Fanless Macs

    MacBook Air: temperature monitoring only.

  • Not supported

    Intel Macs.

Tried it on another Mac? Use Copy Diagnostics in Settings and open an issue on GitHub to report how it went.

Questions

Why does macOS say it cannot verify the app?

Notarization is a paid Apple service this project does not use yet. The app is signed by its developer and its source is public, but Apple has not scanned it, so macOS asks you to approve it yourself.

Can this damage my Mac?

The helper keeps fans within the limits the hardware reports, forces full speed if anything reaches 100 °C, and returns control to macOS when something goes wrong. The chip’s own thermal protection stays active. It is still software that relies on undocumented behaviour and comes without warranty, so use Automatic if you are unsure.

Nothing happened when I opened it.

MacFanPilot lives only in the menu bar. Look for the fan icon at the top right of the screen. If the menu bar is crowded, the icon may be hidden behind other icons or the notch.

The popover says the helper is missing from the app bundle.

On a Mac that has never had the helper, that is how version 1.1.0 words “not installed yet”. Nothing is missing. Click Try again right below it and carry on with step 5 of the install guide.

The preset I chose has a grey tick and the menu bar shows a warning triangle.

The preset could not be kept running. The popover shows the reason, the app retries by itself, and choosing the preset again retries at once.

Can I use it alongside Macs Fan Control or TG Pro?

Not at the same time. Quit the other app first.

Does it send any data?

No. The app makes no network connections.

How do I update?

Download the new version, quit MacFanPilot, and replace the app in Applications.

Uninstall

  1. Click the menu bar icon, then Settings… → General → Fan control helper → Uninstall.

  2. Quit MacFanPilot and delete it from Applications.

  3. Optional, to remove presets and settings:

    rm -rf ~/Library/Application\ Support/MacFanPilot defaults delete uz.stiv.macfanpilot

MacFanPilot 1.1.0

about 1 MB · macOS 14 or later · Apple Silicon only