When running Studio on certain Apple Products, pcalls simply do not catch errors and effectively destroy the entire test session. The most common example of this that I come across is with code that looks like this:
local success, errMsg = pcall(function()
StarterGui:SetCore("ResetButtonCallback", false)
end)
Instead of catching an error if it fails to run, it interrupts the entire testing session without the ability to continue through scripts.
I’m currently on a Macbook Pro with the M4 Chip, but this exact error has been consistent across other Apple Silicon laptops. This issue occurs when testing solo or with a local server in both Server and Client RunContexts.
Demonstration
Here’s some code to quickly demonstrate this bug.
-- ServerScriptService.Script --
local success = pcall(function()
error('Did Not Catch Error')
end)
if not success then
error('Caught Error')
end
Here, we should never see the console error with “Did Not Catch Error”. We should only ever see the console error with “Caught Error” as the pcall should catch this and my error handling below errors with the second error. When I test it on my device, I receive only the first error, “Did Not Catch Error”, with the traceback pointing to the pcall function and the error line within it. This happens consistently. I have also tried uninstalling and reinstalling Studio in the past despite it being an issue across multiple devices.
Expected behavior
I expect the pcall to catch the error internally and expose that through the success variable, that way I can code in my own error handling. Instead, it errors immediately from within the pcall and none of the error handling code is ever reached.

