1

On my M1 Macbook I have iTerm as the terminal I use and when I enter echo $SHELL I get /bin/zsh. However, arch gives i386. I had migrated the computer from Intel to Silicon and never got the transition correct.

What should I do at this point to get arch as arm64? Thanks

  • Is iTerm running in Rosetta mode (you can check by selecting the application icon and pressing Cmd-I)? If you run Terminal instead of iTerm, what does arch return? – nohillside Dec 13 '23 at 07:14
  • I do not see the Rosetta mode option in the cmd-i info page. When I run in terminal it returns arm64 – user321627 Dec 13 '23 at 07:19
  • Then iTerm itself is an Intel binary (should also be visible in the Get Info screen, in the first line of the General section). Can you update it to the most recent version? – nohillside Dec 13 '23 at 07:34
  • Ah! That solved it! I updated to the most recent version and arch now shows arm64. I didn't know it being an Intel binary could make it only work in i386, I'm curious why would that be generally? Thanks very much!! – user321627 Dec 13 '23 at 07:47

1 Answers1

2

By default, newly launched processes "inherit" the architecture from the process which launches them. So if iTerm is an Intel binary, it and any processes launched (including zsh) will be run via Rosetta.

To solve, you need to update iTerm to an ARM or Universal binary.

nohillside
  • 100,768