# plottypus > plottypus is a native Apple Silicon system monitor for the terminal: one Rust binary (ratatui TUI) that reads CPU and GPU watts, cluster clocks, temperatures, fans, memory, network, disk and processes straight from IOReport, the SMC, Mach and sysctl, without sudo. Version 1.0.0, macOS on Apple Silicon (M1 to M5) only. Every page below is also plain Markdown at its URL plus `.md` (the home page: https://plottypus.com/index.md; the detailed feature tour: https://plottypus.com/features.md). - Version 1.0.0, released 2026-09-23. Apple Silicon (M1–M5). Tested on macOS 27.0; the binary targets macOS 11+. No sudo. - Measured on a MacBook Pro with an M5 Pro (Mac17,8): 6 Super + 12 Performance cores, 20-core GPU, 24 GB. - On macOS 27 the PMGR "Energy Model" IOReport counters publish in batches 2–108 s apart, and sometimes not for tens of minutes. Tools that turn a per-interval delta into watts then read CPU at 0 W between batches. - Live CPU watts without sudo on the M5 Pro (SMC rails). On other Apple Silicon chips plottypus holds the last published IOReport value with its age, and shows — once it is more than 10 s old, which on macOS 27 is often. The M5 Pro rail reading is within about 10% of IOReport. - A reading the Mac does not give is shown as `—`, never as a made-up 0 (anything under 0.05 W counts as absent, never printed as 0). - Self-cost: about 1.5% of one core at the default 500 ms, about 1% of one core at 1 s, 0 redraws while idle (M5 Pro, macOS 27, median of 3, 160×45). - The app makes no network connections. The site sets no cookies. Vercel Analytics and Speed Insights count page views and load times. - Free to use today. Pro is not on sale yet. - Coming in 1.1, not in 1.0.0: timeline, reports, alerts, record/replay, `serve`, CSV export, app grouping, shell completions and a man page. ## Install ```sh curl -fsSL https://plottypus.com/install.sh | sh # checks SHA-256, installs to ~/.local/bin, no sudo curl -fsSL https://plottypus.com/install.sh | sh -s -- --dry-run curl -fLO https://plottypus.com/download/v1.0.0/plottypus-v1.0.0-macos-arm64.tar.gz shasum -a 256 plottypus-v1.0.0-macos-arm64.tar.gz # expect 89cdc2d1993dde0607d942103f393fb5bda6b38e1666ef96c3534d2c56e59f9b plottypus --version plottypus --demo # canned 60 s session, no hardware needed plottypus --json | jq .cpu # one JSON sample (schema 1) plottypus --diagnose # one-line verdict with evidence plottypus doctor # what this Mac exposes ``` A Homebrew tap (`brew install cloaky233/tap/plottypus`) is coming; it is not published yet. ## Measured on macOS 27 - macmon 0.8.2 printed CPU 0.00 W in 120 of 120 one-second samples, and 30 of 30 in a run beside plottypus, with the CPU at 100% and system power at 40–90 W (our M5 Pro, macOS 27.0, 2026-09-24). Tracked upstream as issue #76 (open). - mactop 2.1.5 printed CPU 0.0 W in 20 of 20 one-second samples, run beside macmon and plottypus with its own system power at 19–96 W (our M5 Pro, macOS 27.0, 2026-09-24). Its code turns an IOReport "Energy Model" sample delta into watts by dividing by the sampling window, the method macOS 27 batching breaks. - Stats 3.0.17 (checked 2026-09-24): Users report CPU power at 0.00 W on macOS 27 (issues #3608, #3621, versions 3.0.15–3.0.16). The maintainer says macOS is not reporting the value and #3621 stays open. The 3.0.17 notes (2026-09-20) do not mention it. Not measured by us. - Everything above, with sources and self-cost figures, as JSON: https://plottypus.com/facts.json ## Pages - [Features](https://plottypus.com/features): Everything it reads (clusters, clocks, temperatures, rails, processes), the macOS 27 measurement, self-cost, themes, keys, supported Macs, FAQ. [Markdown](https://plottypus.com/features.md) - [Docs](https://plottypus.com/docs): Every docs page, grouped as in the sidebar. [Markdown](https://plottypus.com/docs.md) - [Posts](https://plottypus.com/blog): Measurement write-ups and release notes. [Markdown](https://plottypus.com/blog.md) - [Compare](https://plottypus.com/compare): plottypus beside btop, macmon, mactop, Stats, iStat Menus and others: dated, sourced, with self-cost. [Markdown](https://plottypus.com/compare.md) - [Pro](https://plottypus.com/pro): Pro is not on sale. The planned price, what it will add in 1.1, and the offline licence. [Markdown](https://plottypus.com/pro.md) - [Changelog](https://plottypus.com/changelog): What changed in each release. [Markdown](https://plottypus.com/changelog.md) - [Press](https://plottypus.com/press): Facts, figures and images for writing about plottypus. [Markdown](https://plottypus.com/press.md) - [About](https://plottypus.com/about): Who makes plottypus and how to reach him. [Markdown](https://plottypus.com/about.md) ## Docs - [Install](https://plottypus.com/docs/install): Install plottypus 1.0.0 on an Apple Silicon Mac with the install script or the tarball, and check its SHA-256 yourself. [Markdown](https://plottypus.com/docs/install.md) - [Quickstart](https://plottypus.com/docs/quickstart): Five minutes with plottypus: the two surfaces, the footer, the process table and the three keys worth learning first. [Markdown](https://plottypus.com/docs/quickstart.md) - [Supported Macs](https://plottypus.com/docs/supported-macs): Which Apple Silicon Macs plottypus 1.0.0 runs on, what each kind of Mac shows, and what has and has not been checked on real hardware. [Markdown](https://plottypus.com/docs/supported-macs.md) - [Surfaces: Work and Glance](https://plottypus.com/docs/surfaces): plottypus has two layouts. Work puts the machine beside the process table; Glance is one column of graphs for a small always-on window. [Markdown](https://plottypus.com/docs/surfaces.md) - [Panels](https://plottypus.com/docs/panels): What every number in the cpu, gpu, mem, heat, power, net and disk panels means, where it comes from, and when it is absent instead of zero. [Markdown](https://plottypus.com/docs/panels.md) - [Processes](https://plottypus.com/docs/processes): The process table: per-core CPU like Activity Monitor, footprint memory, why some rows show a dash, sorting, tree, filter, and signals that cannot hit the wrong pid. [Markdown](https://plottypus.com/docs/processes.md) - [Keys](https://plottypus.com/docs/keys): Every key in plottypus 1.0.0 for the default, htop and btop profiles, plus the mouse. Taken from the keymap source, the same table the in-app help reads. [Markdown](https://plottypus.com/docs/keys.md) - [Settings and config file](https://plottypus.com/docs/settings): The settings page, where config.toml lives, every key with its default, and how plottypus saves without touching your comments. [Markdown](https://plottypus.com/docs/settings.md) - [Themes and glass](https://plottypus.com/docs/themes): How plottypus builds its colours from your terminal's palette, the ten built-in themes, glass mode for translucent windows, extra contrast, NO_COLOR and tmux. [Markdown](https://plottypus.com/docs/themes.md) - [JSON output](https://plottypus.com/docs/json): plottypus --json and --json-stream, schema 1: every field, its unit, when it is null, and the names it shares with macmon. [Markdown](https://plottypus.com/docs/json.md) - [Diagnose and doctor](https://plottypus.com/docs/diagnose-doctor): plottypus --diagnose gives one verdict on the Mac with the evidence behind it; plottypus doctor prints what this Mac exposes, for bug reports. [Markdown](https://plottypus.com/docs/diagnose-doctor.md) - [Pro and the licence file](https://plottypus.com/docs/pro-licence): What is free, what Pro will add, and how the offline Ed25519 licence file works. Pro is not on sale yet. [Markdown](https://plottypus.com/docs/pro-licence.md) - [Troubleshooting](https://plottypus.com/docs/troubleshooting): Broken graphs, wrong colours, tmux and ssh, Terminal.app, missing sensors, and processes that show a dash: what causes each and what to do. [Markdown](https://plottypus.com/docs/troubleshooting.md) - [FAQ](https://plottypus.com/docs/faq): Short answers: sudo, network, cost, why a dash instead of zero, why CPU watts blink on macOS 27, and how plottypus differs from powermetrics and Activity Monitor. [Markdown](https://plottypus.com/docs/faq.md) ## Posts - [Check Mac CPU temperature in the terminal](https://plottypus.com/blog/mac-cpu-temperature-terminal): Activity Monitor has no CPU temperature or fan speed. plottypus reads SMC and HID sensors in the terminal, no sudo, and shows — when the Mac has none. [Markdown](https://plottypus.com/blog/mac-cpu-temperature-terminal.md) - [Mac CPU watts in the terminal, no sudo](https://plottypus.com/blog/mac-cpu-watts-without-sudo): No live watts in macOS. plottypus prints system and CPU watts without sudo: SMC rails on the M5 Pro, a held IOReport value with its age on other chips. [Markdown](https://plottypus.com/blog/mac-cpu-watts-without-sudo.md) - [macOS 27 shows 0.00 W CPU power. Here is why.](https://plottypus.com/blog/macos-27-cpu-power-0w): On macOS 27 the IOReport Energy Model counters publish in batches, minutes apart, so per-interval samplers read 0.00 W. Evidence, the fix, and a no-sudo SMC alternative. [Markdown](https://plottypus.com/blog/macos-27-cpu-power-0w.md) ## Comparisons - [plottypus vs btop](https://plottypus.com/vs/btop): btop 1.4.7 and plottypus 1.0.0 on an M5 Pro running macOS 27. CPU watts, cluster clocks, GPU temperature, self-cost, process actions and key mappings. [Markdown](https://plottypus.com/vs/btop.md) - [plottypus vs Stats](https://plottypus.com/vs/stats): Stats 3.0.17 (exelban) and plottypus 1.0.0. A free menu-bar app against a terminal monitor, and why CPU power reads 0 W on macOS 27 in delta-based tools. [Markdown](https://plottypus.com/vs/stats.md) - [plottypus vs iStat Menus](https://plottypus.com/vs/istat-menus): iStat Menus 7.5 ($11.99) and plottypus 1.0.0. A polished paid menu-bar app against a free terminal monitor, and what each is good at on Apple Silicon. [Markdown](https://plottypus.com/vs/istat-menus.md) - [plottypus vs macmon](https://plottypus.com/vs/macmon): macmon 0.8.2 and plottypus 1.0.0 side by side on macOS 27. CPU watts, processes, self-cost, JSON field names, and when macmon is the better pick. [Markdown](https://plottypus.com/vs/macmon.md) - [plottypus vs htop](https://plottypus.com/vs/htop): htop 3.5.3 and plottypus 1.0.0 on Apple Silicon. What each reads on a Mac, what htop has that plottypus lacks, and plottypus's htop key profile. [Markdown](https://plottypus.com/vs/htop.md) - [plottypus vs mactop](https://plottypus.com/vs/mactop): mactop 2.1.5 and plottypus 1.0.0 on an M5 Pro running macOS 27. CPU watts, exporters, fan control, process tools and key mappings. [Markdown](https://plottypus.com/vs/mactop.md) - [plottypus vs asitop](https://plottypus.com/vs/asitop): asitop 0.0.24 and plottypus 1.0.0. powermetrics with sudo against sudoless IOReport and SMC reads, and what changed on Apple Silicon since asitop's last release. [Markdown](https://plottypus.com/vs/asitop.md) - [plottypus vs Activity Monitor](https://plottypus.com/vs/activity-monitor): Activity Monitor and plottypus 1.0.0 on Apple Silicon. Energy Impact against watts, what each shows about the chip, and when the built-in app is the better tool. [Markdown](https://plottypus.com/vs/activity-monitor.md) ## For agents and scripts - [MCP server](https://plottypus.com/api/mcp): streamable HTTP, protocol 2026-07-28 (2025 versions too), read-only, no auth. Tools: get_facts, get_install, search_docs, compare, get_changelog. - [MCP server card](https://plottypus.com/.well-known/mcp.json): the MCP endpoint, transports, protocol versions and tools as JSON (also at /api/mcp/server-card). - [OpenAPI 3.1](https://plottypus.com/openapi.json): the HTTP API (/api/latest, /api/health, /api/mcp) with live examples. - [Facts as JSON](https://plottypus.com/facts.json): release, requirements, capabilities and every measured comparison, with dates and sources. - [Version as JSON](https://plottypus.com/version.json): the current release, tarball URL, SHA-256, sizes and minimum macOS. - [Latest release API](https://plottypus.com/api/latest): version, date, tarball URL and SHA-256, with CORS. - [Open data catalogue](https://plottypus.com/data/index.json): the raw measurements behind the posts (CSV and JSON, CC BY 4.0), with checksums. - [JSON Schema for --json](https://plottypus.com/schema/plottypus-json-v1.schema.json): the shape of `plottypus --json` and `--json-stream` output, version 1. - [RSS](https://plottypus.com/rss.xml): new posts. - [Atom](https://plottypus.com/atom.xml): new posts. - [JSON Feed](https://plottypus.com/feed.json): new posts. ## Optional - [Everything above as one file](https://plottypus.com/llms-full.txt): the full text of every docs page, post and comparison. - [End User License Agreement](https://plottypus.com/eula): The terms for the compiled plottypus program, free and Pro tiers. Version 1.1, 2026-09-24. [Markdown](https://plottypus.com/eula.md) - [Privacy](https://plottypus.com/privacy): The plottypus app makes no network connections. This site sets no cookies. Vercel counts page views and load times. [Markdown](https://plottypus.com/privacy.md) - [Security](https://plottypus.com/security): How to report a security problem in plottypus, and what counts as one. [Markdown](https://plottypus.com/security.md)