remotion-dev/remotion · error · Error
Unsupported architecture on Windows: ${process.arch}
Error message
Unsupported architecture on Windows: ${process.arch} What it means
Thrown by getTarget() in packages/compositor/build.ts when the build is running on Windows (process.platform === 'win32') but process.arch is not 'x64'. The native compositor cross-compiles only for the x86_64-pc-windows-gnu target, so any other Windows architecture is unsupported at build time.
Source
Thrown at packages/compositor/build.ts:50
const targets = [
'x86_64-pc-windows-gnu',
'x86_64-unknown-linux-musl',
'aarch64-unknown-linux-gnu',
'x86_64-unknown-linux-gnu',
'aarch64-apple-darwin',
'x86_64-apple-darwin',
'aarch64-unknown-linux-musl',
];
export const getTarget = () => {
switch (process.platform) {
case 'win32':
switch (process.arch) {
case 'x64':
return 'x86_64-pc-windows-gnu';
default:
throw new Error(
`Unsupported architecture on Windows: ${process.arch}`,
);
}
case 'darwin':
switch (process.arch) {
case 'x64':
return 'x86_64-apple-darwin';
case 'arm64':
return 'aarch64-apple-darwin';
default:
throw new Error(`Unsupported architecture on macOS: ${process.arch}`);
}
case 'linux':
switch (process.arch) {
case 'x64':
if (isMusl()) {View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Build on a Windows x64 host or use the prebuilt compositor binaries distributed with Remotion.
- If you must build on Windows ARM, run x64 Node via Rosetta-equivalent emulation or use a cross-compile environment.
- For local development prefer the prebuilt binaries instead of building from source.
Defensive patterns
Strategy: validation
Validate before calling
// Before building, assert a supported platform/arch combination.
const supported =
(process.platform === 'win32' && process.arch === 'x64') ||
(process.platform === 'darwin' && (process.arch === 'x64' || process.arch === 'arm64')) ||
(process.platform === 'linux' && (process.arch === 'x64' || process.arch === 'arm64'));
if (!supported) throw new Error(`Unsupported build host: ${process.platform}/${process.arch}`); Prevention
- Use the prebuilt compositor binaries shipped with Remotion for normal development.
- Only build from source on supported host architectures (Windows x64, macOS x64/arm64, Linux x64/arm64).
- Pin CI builders to a supported arch.
When it happens
Trigger: Running the compositor build script on Windows on an architecture other than x64, e.g. Windows on ARM (process.arch === 'arm64') or a 32-bit (ia32) Node build.
Common situations: Building the native binary on a Windows-on-ARM device; running a 32-bit Node.js on Windows; a CI runner reporting an unexpected arch.
Related errors
- Unsupported architecture on macOS: ${process.arch}
- Unsupported architecture on Linux: ${process.arch}
- Unsupported OS: ${process.platform}, architecture: ${process
- Could not find ${library} DLL for ${arch}
- Run "bun install-toolchain.ts" if you want to build all plat
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/e64d1f58cbbbc4e3.
Report an issue: GitHub.