I cannot code with my Terminal in 32 Bit thanx to Rosetta 2

running macOS Ventura 13.7.6 on an Intel Mac (2.8 GHz Quad-Core Intel Core i7), and the arch command consistently returns i386, indicating your shell is running in 32-bit compatibility mode, despite /bin/zsh and Terminal being 64-bit (x86_64) capable


Now I'm not sure if I should disable Rosetta 2 on my Intel MacBook Pro

1. Disable System Integrity Protection (SIP)  and Boot into recovery mode

Since :

  • Disabling SIP can make your system more vulnerable to security threats. Make sure you understand the risks before disabling it.
  • After uninstalling Rosetta 2, you will need to reinstall any applications that rely on it to be able to run them on your Intel Mac.
  • The arch command returning i386 even after uninstalling Rosetta 2 might indicate a persistent 32-bit compatibility setting within your shell configuration. You might need to reset your shell configuration or create a new shell with 64-bit settings to resolve this issue. 


Please advice what todo, I've been changing shells, upgrading homebrew etc, nothing works!!

Do I need to go dark and buy a PC?


Posted on May 27, 2025 9:46 PM

Reply

Similar questions

7 replies

May 28, 2025 6:24 PM in response to Pindify

The arch command output has been a source of confusion for many years.


Bash: arch command for OS X - Apple Community


Homebrew can sometimes cause issues, as can a bad PATH, as can other issues.


Rosetta 2 is pretty benign, and only gets involved when there’s no AArch64 code included in a Universal 2 executable image, just x86-64 64-bit code. And more importantly, only when trying to run that x86-64code on Apple silicon.


Rosetta 2 supports x86-64 64-bit code and does not support 32-bit x86 code.


Some related commands:

uname
sw_vers
sysctl machdep.cpu.brand_string
machine


The uname command is part of the UNIX spec. The arch command is not, nor is sw_vers or machine; those are platform-specific and potentially (or actually) non-portable.


So…. What is happening here, beyond the arch command?

May 28, 2025 7:10 PM in response to Servant of Cats

Servant of Cats wrote:


MrHoffman wrote:

Rosetta 2 is pretty benign, and only gets involved when there’s no AArch64 code included in a Universal 2 executable image, just x86-64 64-bit code.

Or if you are on an Apple Silicon Mac, and tick off the "Open using Rosetta" checkbox in a Universal application's "Get Info" dialog. Sometimes Apple Silicon users will force an application to run under Rosetta 2 translation so as to allow use of Intel-only plug-ins.

And more importantly, only when trying to run that x86-64code on Apple silicon.


Or when running Intel binaries on Apple silicon under the Virtualization Framework, if I were getting yet deeper into the weeds:



😉



None of which is applicable to running x86-64 binaries on an x86-64 Mac running x86-64 macOS, though.

May 28, 2025 12:16 AM in response to Servant of Cats

Thank you for your answer: here's an update: Your Mac has an Intel Core i7 CPU (so Rosetta 2 is NOT relevant, it’s only for Apple Silicon).



When you run arch, it returns i386, which is odd for an Intel Mac that should default to x86_64.



Trying to force arch -x86_64 doesn’t seem to change your shell’s reported architecture — it stays i386.



You tried launching Terminal with arch -x86_64 but Terminal isn’t launching or is missing files under some paths.



/bin/zsh is a universal binary supporting both x86_64 and arm64e (the latter irrelevant here).



Your login shell is set to /bin/zsh.



Running arch -x86_64 /bin/zsh --no-rcs gives a prompt, but then arch still reports i386 (this part seems inconsistent).


May 28, 2025 5:54 PM in response to Pindify

the arch command always returns i386 on Macs. If you want to confirm your architecture:

uname -m


Are you actually having an issue besides seeing i386 as the result of running arch? Is something actually not working? I assure you that the entire macOS system and its applications (including Terminal and all the shells) are 64-bit programs running on a 64-bit x86_64 architecture.


Fun fact - run the command machine, and the result is

i486

on my 2012 i7-3280QM


May 28, 2025 7:05 PM in response to MrHoffman

MrHoffman wrote:

Rosetta 2 is pretty benign, and only gets involved when there’s no AArch64 code included in a Universal 2 executable image, just x86-64 64-bit code.


Or if you are on an Apple Silicon Mac, and tick off the "Open using Rosetta" checkbox in a Universal application's "Get Info" dialog. Sometimes Apple Silicon users will force an application to run under Rosetta 2 translation so as to allow use of Intel-only plug-ins.


And more importantly, only when trying to run that x86-64code on Apple silicon.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

I cannot code with my Terminal in 32 Bit thanx to Rosetta 2

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.