MacOS Catalina (v10.15) and newer versions only support 64-bit applications. Additionally, Apple has recently transitioned Macs from Intel’s x86-64 processors to ARM64 architecture.
So, if you’re on an older Mac sporting an Intel chip or you’re trying to run a program coded for the wrong architecture, you’ll face theBad CPU Type in Executableerror.
you may usually solve this error by using the 64-bit version of the program and additionally installing Rosetta if necessary. We’ve detailed these and more solutions in the article below.
What causes the Bad CPU Type in Executable Error?
How to Fix Bad CPU Type in Executable
Since 32-bit code or incompatible architecture is no longer acceptable on v10.15 and later, developers should update the source accordingly. As a consumer, you may try some of the solutions we’ve listed below.
Whether it’s an application or a CLI tool that you’re encountering this error on, the easiest way to resolve it is touse a version compiled for ARM64 architecture.
Sometimes, even after installing the 64-bit version of the program, you may still face this error. In such cases, there are likely additional issues that you may resolve with the solutions listed below.
Set Zsh as Default Shell
Zsh (Z shell) is supposed to be the default login and interactive shell in macOS Catalina and later versions. But sometimes, this may not be the case due to unintentional changes, which can ultimately lead to issues like theBad CPU Type in Executableerror. So, you may set Zsh as the default shell with the following steps:
You may be aware of theMac transition to Apple siliconthat Tim Cook announced in June 2020. Macs used Intel processors for almost 15 years before recently switching to Apple-designed ARM64 CPUs. Many programs designed to run on Intel processors haven’t yet been revised for the new silicon chips.
Apple understands this, which is why Rosetta, a dynamic binary translator, was reintroduced as Rosetta 2 in macOS Big Sur. The first time you attempt to run an incompatible program, you will automatically be prompted to install Rosetta 2. Here, you canpress Installand input youraccount credentialsto fix the issue. But this is via the GUI.
The Terminal doesn’t automatically detect that Rosetta is missing. As such, if you attempt to execute an incompatible program via the terminal, you’ll encounter theBad CPU Type in Executableerror. you may resolve such issues by manually installing Rosetta 2 with the following steps:
In macOS versions earlier than Monterey 12.1, some binaries were still compiled for x86 processors. But the non-ARM binaries have been updated in the newer versions. So if you’re on an older macOS version, now may be a good time toupdate your Mac. Here are the steps to do so: