Apple Silicon Rosetta 2 in 2026: when you still need it, when you should disable it, and detecting which of your CLI tools are silently running x86_64

You bought an M-series MacBook three years ago. Almost everything you use is now ARM-native. But every time you check Activity Monitor, there are still half a dozen processes labeled Intel, several of them are CLI tools you didn’t know weren’t native, and Rosetta 2 is silently translating x86_64 instructions for them in the background. Battery life is fine, performance feels fine, but you’re not 100% sure you actually need Rosetta installed anymore.

It’s 2026. The macOS / Apple Silicon transition started in 2020. Almost every major application has shipped an ARM build. So when can you finally remove Rosetta — and how do you know which of your tools would break if you did?

What Rosetta 2 actually does

Rosetta 2 is a binary translator: it converts x86_64 machine code to ARM64 instructions on the fly (mostly at install time, with a fast JIT for runtime cases). Apple ships it as an optional component you install once, and after that any x86_64 binary you launch transparently runs through it. The translation is good — you typically lose 15–30% of native ARM performance, which on an M2/M3 chip means most x86 apps still feel snappier than they did on the Intel Macs they replaced.

The catch in 2026: Apple has announced Rosetta will be deprecated in a future macOS, with the explicit message that developers should ship ARM-native builds. Knowing what’s running through Rosetta on your machine is now a maintenance question, not a curiosity.

Detect: which CLI tools are silently x86_64?

Activity Monitor’s “Architecture” column shows GUI apps clearly. CLI tools are harder because they don’t always appear there. The tool you want is file:

file $(which docker)
# Mach-O 64-bit executable arm64                              ← native
# Mach-O 64-bit executable x86_64                             ← Intel (Rosetta)
# Mach-O universal binary with 2 architectures: [arm64] [x86_64]  ← fat binary, picks per-launch

To audit your whole $PATH at once:

# Show the architecture of every executable in the directories on your PATH
echo "$PATH" | tr ':' '\n' | while read -r d; do
  [ -d "$d" ] || continue
  find "$d" -maxdepth 1 -type f -perm +111 2>/dev/null
done | xargs file 2>/dev/null | grep -v 'arm64' | grep 'Mach-O'

That command dumps every binary that is not ARM-only. The output is usually surprising: ten or twenty Homebrew tools you installed under Rosetta in 2021 and never re-installed; a bundled aws CLI that’s still x86_64; a kubectl from a manual install; a gpg from an outdated installer.

Detect: which running processes use Rosetta right now

# All currently-running x86_64 processes
ps -axo pid,comm,args | while read -r pid comm args; do
  [ -z "$pid" ] && continue
  arch=$(/usr/sbin/sysctl -n sysctl.proc_translated -p $pid 2>/dev/null)
  [ "$arch" = "1" ] && echo "$pid  $comm  $args"
done

sysctl.proc_translated is Apple’s way of telling you whether a given PID was launched as x86_64-via-Rosetta. The flag is 1 when yes, 0 when native. The script above prints every translated process with its command line, which is the surest way to find the half-dozen “I forgot this was Intel” tools you have running.

Fix: re-install Homebrew formulas as ARM

If brew config shows HOMEBREW_PREFIX: /usr/local, you have an x86_64 Homebrew installation in addition to (or instead of) the ARM one at /opt/homebrew. Most people want only the ARM one in 2026.

# See what's installed in the x86 brew
arch -x86_64 /usr/local/bin/brew list

# Install ARM brew if you don't have it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# (the installer detects ARM and sets up /opt/homebrew on its own)

# Install your formulas in the ARM brew
/opt/homebrew/bin/brew install <list of packages from arch -x86_64 brew list>

# Once everything works under ARM brew, remove the Intel one
/usr/local/bin/brew remove --force $(arch -x86_64 /usr/local/bin/brew list)
sudo rm -rf /usr/local/Homebrew /usr/local/Cellar /usr/local/Caskroom

Make sure your shell config has /opt/homebrew/bin ahead of /usr/local/bin in $PATH before you start, otherwise you’ll keep accidentally invoking the Intel binary even after the ARM one is installed.

When you still genuinely need Rosetta

  • One specific niche app that has no ARM build. The list is shrinking fast in 2026, but if your work depends on a vendor tool stuck on x86_64, keep Rosetta until that tool ships native. Tools like older Adobe plugins, some CAD packages, and certain audio plugins are still slow movers.
  • Docker images you didn’t build for ARM. If you’re running x86_64 Docker images that don’t have linux/arm64 manifests, you need Rosetta + Docker’s emulation. The cleanest fix is rebuilding those images (docker buildx build --platform linux/arm64,linux/amd64) but it’s not always your repo to rebuild.
  • Some games via Steam. Steam itself is now native ARM but most older games are not, and Apple’s Game Porting Toolkit relies on Rosetta + Wine + DXVK to run Windows x86 binaries on Mac.

How to disable Rosetta

If your audit shows zero remaining x86_64 dependencies, you can fully remove Rosetta:

# Removes Rosetta — requires a reboot afterwards
sudo /usr/sbin/softwareupdate --remove-rosetta

# Verify it's gone
arch -x86_64 echo "this should error" 2>&1
# Expected: arch: posix_spawn execvp: : Bad CPU type in executable

If you want to keep Rosetta installed but stop a specific app from running through it, right-click the app in Finder → Get Info → uncheck “Open using Rosetta.” For CLI tools, prefix invocations with arch -arm64 to force the native code path on a fat binary.

The pragmatic 2026 stance

Audit your $PATH with the file trick once. Replace anything that’s still Intel with ARM-native versions. Keep Rosetta installed if any single tool you depend on hasn’t shipped native — Apple’s deprecation timeline gives you years, not weeks. But run the audit. The handful of x86_64 binaries lingering in your $PATH are quietly burning a few percent of CPU on every invocation, and they’re easy to fix once you can see them.

Photo: MacBook Pro side profile with port layout by dlxmedia hu on Pexels.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.