Rustup 1.29.1 requires --force-non-host when installing i686-pc-windows-* host toolchains on 64-bit Windows. The change removes a Windows-specific exception: running a 32-bit compiler toolchain on a 64-bit host remains possible, but installing it now requires an explicit choice. It does not remove support for building 32-bit Windows applications with a 64-bit toolchain. (Release announcement, PR #4935)
What changed in rustup 1.29.1
The Rustup team’s September 1, 2026 release announcement lists the new requirement for installing 32-bit Windows host toolchains on 64-bit Windows. The linked implementation change is PR #4935, “Remove Windows i686 special case from can_run.” Its description says Windows was the only platform with this particular exception. (Release announcement, PR #4935)
The PR gives the rationale directly:
While it is possible to run a 32-bit toolchain on a 64-bit host, it is strongly discouraged.
It then identifies --force-non-host as the way to install that toolchain anyway. The requirement is therefore an installation-policy decision, not a claim that Windows cannot execute the tools. (PR #4935)
The PR author also cited a discussion about demoting 32-bit host support to Tier 2 and argued that rustup should change first. That was support-policy context for the proposal, not an announcement that the tier change had already happened. (PR #4935)
A compiler’s host is different from its compilation target
The important distinction is between the tools doing the build and the program being built:
- Host: the platform on which the compiler toolchain itself runs.
- Compilation target: the platform for which the toolchain produces a program.
A requirement for a 32-bit application does not, by itself, require a 32-bit compiler toolchain. PR #4935 explicitly says the change does not affect installing or using i686 as a target, and that Rust supports cross-compiling from a 64-bit Windows host to an i686 Windows target. (PR #4935)
Which workflow do you need?
Before adding the flag, identify whether the architecture requirement applies to your build tools or their output:
| Requirement | Relevant choice |
|---|---|
| Produce a 32-bit Windows application | Use a 64-bit Windows host toolchain with an i686 Windows compilation target. |
| Run the compiler toolchain itself as 32-bit on 64-bit Windows | Install the 32-bit host toolchain with --force-non-host. |
The new installation requirement concerns the second workflow, not the first. If only the resulting application must be 32-bit, cross-compilation avoids the need to install a 32-bit host toolchain. (PR #4935)
Sources are linked throughout this guide. Product capabilities can change; consult the linked documentation for your deployment.
Read our editorial approach ↗