I am trying to find a way, using the Terminal/command line, to determine if the Mac I am using has Touch ID or not.

So far web searches have not turned up any answers.

I would have thought that either ioreg or system_profiler might have the answer, but my attempts to use them have not uncovered anything useful.

(I did find one reference to Multitouch ID but I believe that has to do with the trackpad not Touch ID.)

  • Thanks. The first bullet point might be an option. The second is not. /System/Library/PreferencePanes/TouchID.prefPane exists in versions of macOS which supports Touch ID even if the hardware does not. (Confirmed on my Macs, running 10.13, 10.14, and 10.15 even on hardware that doesn't support Touch ID I think the last one is just about setting up Touch ID to work with sudo. – TJ Luoma Jan 29 '20 at 1:35
  • the argument it gives to allow Touch ID for sudo might be connected to something else, idk – anki Jan 29 '20 at 2:41

Google shows some hits which I can't verify because I don't have access to a Mac with TouchID currently:

/usr/libexec/PlistBuddy -c "print :$(sysctl -n hw.model):_LOCALIZABLE_:description" /System/Library/PrivateFrameworks/ServerInformation.framework/Versions/A/Resources/English.lproj/SIMachineAttributes.plist | grep -oc "Touch ID"

It will return 1 if touch id is available and 0 if not

One further method can be found in the same thread: TouchID Extension Attribute

  • Thank you. However, I can confirm that this does not work on my 2018 MacBook Air (which does have Touch ID), so I would say this is not a viable answer. – TJ Luoma Jan 29 '20 at 0:55
  • @TJLuoma At least it works the other way round: I get a 0 for my iMac...;-) – klanomath Jan 29 '20 at 1:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .