Windows 11 in Proxmox needs a few specific CPU flags or the installer refuses to run. Use host CPU type and you’re fine, but if you’re stuck with kvm64 or default, here’s the exact list that makes it boot.

The flags Windows 11 actually checks
Windows 11 checks for TPM 2.0, Secure Boot, and a handful of CPU features. In Proxmox, TPM and Secure Boot are separate settings. For CPU, the installer wants: sse4.2, popcnt, cx16, lahf_lm, abm, rdrand, rdseed, clflushopt, clwb, xsave, xsaveopt, avx, avx2, bmi1, bmi2, adx, fma, movbe, and smep. That’s the list from Microsoft’s docs, and if any are missing, the installer says “This PC can’t run Windows 11”.
CPU type makes the difference
Proxmox defaults to kvm64 for new VMs. That’s a generic baseline and it’s missing a bunch of those flags. host passes through everything your physical CPU has, so if your hardware supports Windows 11, host just works. If you can’t use host (live migration between different CPUs is the usual reason), try max or a specific model like Skylake-Client or EPYC. Those include the flags. kvm64 won’t cut it.

Check it yourself
On the Proxmox host, run lscpu and look at the Flags line. That’s what host will give the VM. On the VM, after install, you can run grep -o 'sse4_2\|popcnt\|avx2' /proc/cpuinfo | sort -u to see the flags. Or just use host and stop worrying about it.
My take
If this is a single home server, just set CPU type to host. Done. The whole flag list only matters if you’re doing something weird like clustering mixed hardware or you need live migration. And even then, max gets you most of the way. Don’t overthink it.
If you’re also dealing with weird VM issues after cloning, check this post on duplicate DHCP leases — that one bit me more than CPU flags ever did.