SkillAgentSearch skills...

ISMC

Apple SMC CLI tool that can decode and display temperature, fans, battery, power, voltage and current information

Install / Use

/learn @dkorunic/ISMC
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

iSMC

GitHub license GitHub release

About

iSMC is a macOS command-line tool for querying the Apple System Management Controller (SMC). It reads a broad set of well-known SMC keys, determines their type and value, and classifies the results into temperature, power, current, voltage, fan, and battery readings. Each key is accompanied by a human-readable description.

In addition to standard SMC support for Intel Mac hardware, iSMC supports Apple Silicon (M1–M5 and later, including the Neo family), where temperature, voltage, current, and power sensors are exposed through a HID sensor hub rather than the SMC directly.

Demo

Installation

iSMC runs on macOS only.

Homebrew

You can install iSMC using Homebrew by adding the homebrew-tap tap and installing the ismc package:

brew tap dkorunic/tap
brew install ismc

Manual

Download the appropriate iSMC binary for your platform from the releases page and install it manually.

Using go install

You can also install iSMC using the go install command:

CGO_ENABLED=1 go install github.com/dkorunic/iSMC@latest

Usage

$ iSMC help
Apple SMC CLI tool that can decode and display temperature, fans, battery, power, voltage and current
information for various hardware in your Apple Mac hardware.

Usage:
  iSMC [flags]
  iSMC [command]

Available Commands:
  all         Display all known sensors, fans and battery status
  batt        Display battery status
  completion  Generate the autocompletion script for the specified shell
  curr        Display current sensors
  fans        Display fans status
  help        Help about any command
  power       Display power sensors
  temp        Display temperature sensors
  version     Print the version number of iSMC
  volt        Display voltage sensors

Flags:
  -h, --help            help for iSMC
  -o, --output string   Output format (ascii, table, json, influx) (default "table")

Use "iSMC [command] --help" for more information about a command.

Each command also accepts short and long aliases: bat/batt/battery, cur/curr/current, fan/fans, pow/power, tmp/temp/temperature, vol/volt/voltage, everything/all.

Output formats

| Format | Description | | -------- | --------------------------------- | | table | Coloured terminal table (default) | | ascii | Plain ASCII table | | json | JSON | | influx | InfluxDB line protocol |

Related work

This tool was inspired by several Apple SMC-related projects:

Todo

Planned features:

  • fetch and decode SMC key descriptions from the SMC itself,
  • generate and probe random SMC keys,
  • persist discovered SMC keys to a configuration file,
  • add support for missing data types (si*, hex_, pwm, etc.).

Bugs, feature requests, etc.

Please open an issue or submit a pull request.

Star history

Star History Chart

View on GitHub
GitHub Stars176
CategoryOperations
Updated22h ago
Forks18

Languages

Go

Security Score

100/100

Audited on Mar 29, 2026

No findings