📈 GH Trending Explorer 🎲 Surprise me

← all repos

darrylmorley / whatcable

git clone https://github.com/darrylmorley/whatcable.git v1.5.0 · 10d ago 🔥 on GitHub Trending today

macOS menu bar app that reports in plain English what each USB-C cable on your Mac can do and why charging may be slow.

Why you might care

Useful when a USB-C cable charges slowly or links at the wrong speed, since it reads cable e-marker and port data from IOKit and explains the bottleneck. It shows cable speed and current rating, plus USB-IF certification matched against a list bundled with the app, with no network lookups.

Categories

Alternatives

System Information
+8
stars, 24h · #4,259
+89
stars, 7 days · #2,432
+~330
stars, 30 days · #2,483
9.0k
★ total · +1% this week
274
forks · 35 open issues

Star history (as recorded here)

2026-10-20 · 8,951 ★ 2026-10-23 · 8,984 ★
LanguageSwift
License—
Created2026-05-01 (5mo ago)
Last push10d ago
Watchers17
OwnerUser

Seen on GitHub Trending

  • 2026-10-23 — #11 daily in swift · +17 ★
  • 2026-10-23 — #5 weekly in swift · +89 ★

GitHub topics

Links

README excerpt
# WhatCable
> **What can this USB-C cable actually do?**
**Website: whatcable.uk** (overview, screenshots, and CLI docs)
A small macOS menu bar app that tells you, in plain English, what each USB-C cable plugged into your Mac can actually do, and **why your Mac might be charging slowly**.
USB-C hides a lot under one connector. Anything from a USB 2.0 charge-only cable to a 240W / 40 Gbps Thunderbolt 4 cable, all looking identical in your drawer. macOS already exposes the relevant info via IOKit; WhatCable surfaces it as a friendly menu bar popover.
Part of a family: **WhatBattery** for battery health and charging, **WhatPort** for every port at once.
## What it shows
Per port, in plain English:
- **At-a-glance headline:** Thunderbolt / USB4, USB device, Display connected, Charging only, Slow USB / charge-only cable, Nothing connected
- **Charging diagnostic:** when something's plugged in, a banner identifies the bottleneck:
 - *"Cable is limiting charging speed"* (cable rated below the charger)
 - *"Charging at 30W (charger can do up to 96W)"* (Mac is asking for less, e.g. battery near full)
 - *"Charging well at 96W"* (everything matches)
 - *"Battery full, not charging"* (plugged in, battery full, so the Mac isn't drawing power)
- **Mid-session fault warnings:** if a cable develops trouble while it's plugged in (a power overcurrent, or the connection dropping and coming back), a banner appears on the port. It reads the port's own fault counters, so it catches faults that only show up once a cable is under load.
- **Data-speed diagnostic:** a plain-English verdict on what's limiting the link, the Mac port, the cable, or the device. For example *"Cable is limiting data speed"*, *"Device runs at 10 Gbps, this is the fastest it supports, not a cable problem"*, or *"Running slower than expected"* when the link came up degraded. Shown inline, in the CLI, and in JSON.
- **Cable e-marker info:** the cable's actual speed (USB 2.0, 5 / 10 / 20 / 40 / 80 Gbps), current rating (3 A / 5 A up to 60W / 100W / 240W), and the chip's vendor
- **USB-IF certification:** cables that carry a certificate ID (XID) get a "USB-IF certified" line naming the manufacturer. The ID is read off the cable itself and matched against a list of USB-IF certifications bundled with the app, which is where the manufacturer name comes from. Nothing is looked up over the network. A cable advertising an ID that USB-IF doesn't publish gets a neutral "certified but unlisted" line instead. Certification is voluntary and Apple's own cables land there, so it's a fact about the ID, never a verdict on the cable. The raw XID is in the JSON output.
- **Cable trust signals:** an orange card appears when the e-marker reports values that look unusual against the USB-PD spec, like a zero vendor ID, a reserved bit pattern in the speed / current / cable-latency fields, or a VID that isn't in USB-IF's published list. Wording is hedged on purpose: a flag means "this looks unusual," not "this cable is fa

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.