act arm64 image error on Apple Silicon running Actions locally
On Apple Silicon (M1/M2/M3) Docker runs arm64 by default, but the common runner images are amd64. act warns the requested image platform does not match the host, and some amd64-only steps then fail. Force amd64 with --container-architecture.
What this error means
act prints "The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8)" and steps that shell out to amd64 binaries fail or behave oddly.
WARNING: The requested image's platform (linux/amd64) does not match the detected
host platform (linux/arm64/v8/no-variant) and no specific platform was requestedCommon causes
Host is arm64 but the image is amd64
Apple Silicon defaults to arm64 containers, while catthehacker and similar runner images ship amd64, so the platforms disagree.
No explicit container architecture requested
Without --container-architecture, act lets Docker pick the host arch, which can differ from what the workflow tools expect.
How to fix it
Force the amd64 architecture
Run act with --container-architecture linux/amd64 so the amd64 image runs under emulation and matches GitHub-hosted runners.
act --container-architecture linux/amd64 -j buildPersist the flag in .actrc
Add the architecture to .actrc so every local run on Apple Silicon is consistent.
--container-architecture linux/amd64How to prevent it
- Set
--container-architecture linux/amd64in.actrcon Apple Silicon. - Expect emulated amd64 runs to be slower than native.
- Match the architecture to what GitHub-hosted runners use (amd64).