smckit - macOS SMC tool
-n fan-id] [
A macOS command line tool for interfacing with the Apple System Management Controller (SMC) in Swift on Intel based Macs.
List of supported command line options (flags/switches). Providing no options
prints temperature (
-t), fan (
-f), power (
-p), and misc (
Colorize output where applicable.
Show SMC keys (FourCC) when printing temperature sensors.
Show the machines fan speeds (RPM).
Show the list of options.
Check if a FourCC is a valid SMC key on this machine.
Show misc information about this machine.
The id (number - starts from 0) of the fan whose speed to set. The list of
id's can be seen via the
--fan option. Must be used in combination
Show power related information about this machine.
The minimum speed (RPM - revolutions per minute) of the fan to set. By
minimum we mean that macOS can interject and raise the fan speed if needed,
however it will not go below this. Must be used with
WARNING: You are playing with hardware here, BE CAREFUL.
Show the list of known temperature sensors on this machine.
Show the list of temperature sensors whose hardware mapping is unknown.
Show SMCKitTool version.
Show warning levels for temperature sensors and fan speeds.
All Intel based Macs to this point have at least one fan, with the exception of the newly added fanless MacBook (8,1).
The list of known temperature sensors (
-t) in combination with the unknown
-u) is exhaustive. However, the names of the known sensors may not
be mapped to the correct hardware component. In addition, the maximum
temperature of each individual sensor is not known. Thus, a global max of
128 degrees Celsius is used. This is all due to the fact that the SMC has a
closed source driver, and thus information about it's inner workings is
If a sensor has a value that is very high, constant, and completely disproportionate to the rest, then there is a chance that it is faulty. This could be due to bad or damaged hardware (liquid on the logic board). Run the Apple Diagnostics (Apple Hardware Test for older machines) diagnostics suite in such a case to confirm.
Some sensors however report very low values, below zero. The current theory on this is that at lower temperatures the sensors have inaccurate readings. It maybe that they are located close to an internal fan, and the airflow is causing it to be skewed.
Due to Swift,
smckit requires macOS 10.9 (Mavericks) and above. This implies an
Intel based 64-bit machine.
All project related matters, including source code, can be found at the GitHub repository listed above. In particular, the issue tracker, which can be used to report feedback, feature requests and bugs.
This project is under the MIT License.