Turbojet

Turbojet is a tiny native menu-bar fan controller for Apple Silicon Macs.

It has no Dock icon and no main window: the tray contains a System/Manual selector, a continuous fan-speed slider, and Quit. The slider is capped at the physical speed Turbojet measures from the fans themselves, not Apple’s lower recommended thermal-management maximum.

Download Turbojet 1.7 for Apple Silicon. The source and SHA-256 checksum are available on the GitHub release.


Install Turbojet

Turbojet is signed as Apple Development: ryanshahine@hotmail.com, but I do not have a paid Developer ID distribution account for it, so the app is not notarized. macOS will show a warning on the first launch. Only continue when your copy came from the official GitHub repository.

  • Open Turbojet-1.7.dmg, read read me first.pdf, and drag Turbojet onto Applications.
  • Open Turbojet from Applications. If macOS blocks it, choose Done.
  • Open System Settings → Privacy & Security and scroll to the Security section.
  • Choose Open Anyway for Turbojet, authenticate with your password or Touch ID, then confirm Open.
  • Select Manual from the fan icon. The first selection asks once for administrator access to install Turbojet’s privileged helper.

The helper remains installed across launches, so normal System/Manual changes do not ask for your password again. If a future release needs to replace the helper, macOS may ask once for that upgrade.


The physical maximum, not F%dMx

Most fan utilities treat the SMC F%dMx value as a hard limit. On Apple Silicon it is better understood as Apple’s recommended thermal-management maximum; the fan and firmware can sometimes go faster.

On the first Manual selection for a Mac model, Turbojet briefly requests an intentionally unreachable target and watches each fan’s actual F%dAc speed until it plateaus. It rounds the measured peak to the nearest 100 RPM, caches it for that hardware model, and uses the result as the slider ceiling. The calibration normally takes 8–15 seconds and audibly runs the fans at full speed.


Apple Silicon fan control

Turbojet probes the SMC instead of relying on a hard-coded Mac model list. It supports the uppercase mode keys used by M1–M4 Macs, the lowercase keys found on newer hardware, and keeps Ftst asserted where macOS would otherwise reclaim manual control.

A small privileged launchd helper performs the SMC writes and keeps the requested target active. The menu app sends heartbeats only while Manual control is enabled. If the app disappears or the heartbeat stops, the helper returns the fans to System control.

The UI is native AppKit rather than SwiftUI to keep overhead low. It links neither SwiftUI nor Combine; its measured private physical footprint is roughly 24 MB after using the menu.


Safety

Manual fan control bypasses Apple’s normal thermal policy. Very low targets can reduce cooling, while sustained maximum speed increases noise and fan wear. Select System or quit Turbojet to return control to macOS.

Turbojet is open source and low-level hardware behavior can change between Mac generations. If you test it on another Apple Silicon model, please share the model and measured result on GitHub.