Read out of system_profiler adds an extra line and Invalid JSON Output

Hello!

currently I got a massive issue after upgrading all 10.000 Macs from macOS 26.3 to 26.3.1 or 26.4 and running some programs/apps on it which are currently not running because we need to read out the Hardware UUID.

After the Update to macOS 26.3.1 and 26.4 the Terminal for the command system_profiler SPHardwareDataType is return an additional line:

% system_profiler SPHardwareDataType 2026-03-25 11:28:17.939 system_profiler[73588:434733] hw.cpufamily: 0x1b588bb3 Hardware:

bevor the Update the response was: %system_profiler SPHardwareDataType Hardware:

Why I am getting this extra line "2026-03-25 11:28:17.939 system_profiler[73588:434733] hw.cpufamily: 0x1b588bb3" with a timestamp and system_profilder + hw.cpufamily as response?

How can I disable this?


Also the difference is with the command:

system_profiler -json SPHardwareDataType

Above version macOS 26.3.1 I will get an percentage sign in the Output - this is not a valid json!

...(shorten)    }   ] }%  

on macOS version 26.3 and lower the response is: ...(shorten)      }   ] }

In zsh a highlighted % means there's no newline at the end of the output. It's not literally a % in the output and shouldn't affect anything if you're using the output programmatically. e.g. if you direct its output to a file you won't see a %

Right.

When dealing with JSON it’s best to use a JSON parser rather than trying to treat it as text. And modern versions of macOS have (at least) one such parser built in, that is, jq. For example:

% system_profiler -json SPHardwareDataType > tmp.json
% jq -r '.SPHardwareDataType.[0].platform_UUID' tmp.json
FCBBB6FF-E6F4-5372-87C0-1944DA936938

Read the jq man page for more on how it works.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Read out of system_profiler adds an extra line and Invalid JSON Output
 
 
Q