How Rosetta Broke My Terraform Setup (and How I Fixed It on Apple Silicon)


🛠️ How Rosetta Broke My Terraform Setup (and How I Fixed It on Apple Silicon)
Everything was working fine — until it wasn’t.
While setting up a Kubernetes homelab using Terraform
inside a devbox
environment on my M1 Mac (macOS 15.5, Apple Silicon), I started hitting this dreaded error:
Error: Failed to load plugin schemas
Error while loading schemas for plugin components: Failed to obtain provider schema: Could not load the schema for provider registry.terraform.io/hashicorp/aws:
failed to instantiate provider "registry.terraform.io/hashicorp/aws" to obtain schema: timeout while waiting for plugin to start..
Re-running terraform validate
or terraform plan
produced the same issue, even though terraform init
was succeeding.
🧩 The Clue: Architecture Mismatch
After some digging, I noticed strange behavior:
Running
uname -m
in my terminal gavearm64
(✅ expected).But inside
tmux
, it showedx86_64
(❌ unexpected).Even worse,
terraform
showed:Terraform v1.10.5 on darwin_amd64
...even though I'm on Apple Silicon.
Eventually, I realized that Homebrew was installed under /usr/local
— the default path for Intel Macs. I’m fairly certain a recent macOS upgrade caused this regression, as I had set things up correctly before. This led to brew
installing x86_64 versions of tools, even though I’m on an M1 Pro (ARM64). That meant:
All my
brew install ...
commands were installing x86_64 binaries.Tools like
terraform
andtmux
were running under Rosetta.devbox
was pulling in these x86 versions too.Result: native ARM Terraform tried to run x86 plugins — and failed.
🛠️ The Fix
Here's how I cleaned everything up and got Terraform working natively:
1. ✅ Uninstall x86 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
2. ✅ Reinstall Homebrew for Apple Silicon
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Make sure it installs to: /opt/homebrew
3. ✅ Update your $PATH
Add to your shell profile:
export PATH="/opt/homebrew/bin:$PATH"
Then reload:
source ~/.bash_profile # or ~/.zshrc or ~/.bashrc
4. ✅ Reinstall all your tools
Now reinstall tmux
, terraform
, etc., so they are built for ARM:
brew install tmux terraform
Make sure they are native:
file $(which terraform)
/opt/homebrew/bin/terraform: Mach-O 64-bit executable arm64
Same for tmux
and anything else.
5. ✅ Fix tmux
architecture issue
Previously, launching tmux
forced my terminal into x86 mode. After reinstalling via ARM Homebrew, tmux
now behaves correctly:
uname -m # arm64
tmux
uname -m # still arm64 ✅
💡 Devbox & Terraform: Final Check
Now that everything is ARM-native:
devbox shell
terraform version
terraform validate
No more plugin timeouts. No need for GODEBUG
or weird init -upgrade
workarounds.
✅ TL;DR
Symptoms:
Terraform plugin schema timeouts
terraform validate
failsArchitecture mismatch (
x86_64
insidetmux
)terraform
reportsdarwin_amd64
on an M1/M2 Mac
Fix:
Uninstall Intel Homebrew
Reinstall native ARM Homebrew
Reinstall all tools via ARM Homebrew
Update
$PATH
Verify with
file $(which terraform)
If you're using an M1/M2 Mac and Devbox, always make sure your entire stack is running ARM64 natively — otherwise, you'll spend hours chasing down obscure errors like I did.
Let me know if this helped — or if you’ve run into something similar!
Subscribe to my newsletter
Read articles from Jérôme Hoarau directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Jérôme Hoarau
Jérôme Hoarau
Cloud Enthusiast