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 the Bad CPU Type in Executable error. You can 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 can try some of the solutions we’ve listed below.
Use 64-bit Build
Whether it’s an application or a CLI tool that you’re encountering this error on, the easiest way to resolve it is to use 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 can 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 the Bad CPU Type in Executable error. So, you can set Zsh as the default shell with the following steps:
Install Rosetta 2
You may be aware of the Mac transition to Apple silicon that 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 try to run an incompatible program, you will automatically be prompted to install Rosetta 2. Here, you can press Install and input your account credentials to 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 the Bad CPU Type in Executable error. You can resolve such issues by manually installing Rosetta 2 with the following steps:
Update macOS
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 to update your Mac. Here are the steps to do so: