Show HN: WhatCable, a tiny menu bar app for inspecting USB-C cables (github.com)

566 points by sleepingNomad ↗ HN
USB-C cables can be a mess. One cable charges at 5W, another does 100W and Thunderbolt 4, and they look identical in the drawer.

WhatCable sits in your menu bar and reads the cable data your Mac already has access to. Plug in a cable and it tells you in plain English what it can actually do: charging wattage, data speed, display support, Thunderbolt, etc.

Built in Swift/SwiftUI. Open source, free, no tracking.

GitHub: https://github.com/darrylmorley/whatcable

50 comments

[ 10.6 ms ] story [ 65.0 ms ] thread
Pretty cool. What I don't understand is why both my USB@1 and USB@2 show the same connected devices. I'd expect to only see the respective devices. USB@1 is my USB-hub monitor, the other one is connected to my phone. Both show keyboard, etc. plus my phone as connected devices.
Doesn't work for me. Says "No USB-C ports detected", although I'm pretty sure my monitor is connected via USB-C, and the monitor also has a built-in USB hub where my USB keyboard is connected to.
Good stuff, but it's telling me that my USB-C Thunderbolt cable has been plugged in upside down but the connector handled this. I was not aware that you can plug in something into USB-C upside down!
You can't. This software is leaking implementation details of USB-C and you really don't need to know this. I understand it's tempting to show everything, but the author should have exercised restraint here (this is assuming they were consciously involved at all, of course).
Could it be just a console utility?
14 Inch 2021 MBPro / M1 Pro chip / Sonoma 14.5

WhatCable says "No USB-C Ports Detected".

System info clearly shows my iPhone attached to USB 3.1 Bus.

The 'plugged upside down' is weird for a USB-cable. Especially as that doesn't work. I tried plugging it 'the other way around' and it showed the same 'upside down' warning
Tangential, but LLT recently came out with their own lineup of USB-C cables guaranteed to be up to spec. And they have the main specs printed on each cable end, so you know what you grab.

That should be mandatory.

I remember seeing a recent analysis where the vast majority of cables from Amazon misreported their capabilities. Is this tool going to be able to catch those, or blindly report what the chip advertises?
Any plans to support installations through Homebrew?
This is pretty nice, but why do a lot of Mac apps insist on living in the menu bar?
Is it not rather useful in this particular case? You will see the reported capabilities whenever you plug in a cable. Or do people rather want to diagnose and label their cables just once?
I get that the connectors are identical but I find it odd that people find it so challenging. Thunderbolt is the thick and short cable. If it's not thick it's not gonna work well and if it's over a metre it's not gonna work well. cf my pile of thin long "basic" usb c cables.
I like the idea and thanks for sharing, but I do think folks who vibe code or use Claude should take their time using, testing, and improving app before rushing to share. This was pushed/deved like 2 hours ago
I would like to ask an LLM to rewrite it as Python CLI script. Is it even possible, or some Swift-only functionality is necessary?

P.S. Some time ago I learnt through HN of a one-line command in macOS which revealed the power (Wattage) of the connected charger. Can't find it now, but it was very useful.

I am definitely gonna contribute or fork to create an open leaderboard of cable brands and quality :D
I dont know how they do it, but the original Apple Type C cable is GREAT. I use it for software defined radio stuff, where your usb cable can start to act as an antenna and causing interference and reflections. I tested about 6 different brands and vendors and these gave the cleanest signal. Theyre also pretty pricy sadly. Not sure about the speeds and pd, but suspect it should be fine…
Great project. It would be even better if it supported platforms other than Mac.
Cool. Just want to chime in that I wanted to see how quickly GPT-5.5 can turn this into a KDE Plasma 6 Plasmoid. Took about 10 minutes and two dollars, and now I have a nice QML app showing the same information in my taskbar.

Just wanted to say this because I feel it's really crazy that I can just do this today...

Did exactly this with the Sennheiser BTD-700 Bluetooth dongle. Found someone had done the work to create a little C library for controlling the dongle and with that Claude had created a nice widget for KDE to control my headphones.
Yeah it's insane how quickly the platform issue get solved by LLMs for 90% of software.

I fixed lots of old tools' issues with using older broken APIs as well this way.

I love that this is a native mac app. Thanks for building this, and thanks for sharing.
Cool ! Would love a brew installation as well
Thanks for creating this. I'm blind so the $16 USB tester off amazon to sort through my drawer of cables is not an option. This will stop me from needing to buy a sbc just so I have something running Linux to test cables.
How did Claude do at conforming to accessibility standards on macOS?
oh my god, this is going to change my life if it works.
Props to @sleepingNomad here, who has done 16 releases in the last 7 hours, incorporating feedback from HN on the fly!

* Don't like menubar apps? you you can run it as a normal app

* Don't like GUIs? Now you can run it on the command line

Just look at that Changelog:

https://github.com/darrylmorley/whatcable/releases?page=2

Software development will never be as it was 3 years ago :D and that is great :D
Username doesn’t check out, that guy is anything but not sleeping