π If you're hitting this on a Windows device that has an NPU (Snapdragon X / X2 Elite, Intel Core Ultra, AMD Ryzen AI) or GPU (Nvidia TRT-RTX), please react with π on this issue so we can gauge impact. Only add a comment if the fixes below don't resolve it for you.
Symptoms
Any of the following on a device with a working NPU:
- CLI β
foundry model list shows only CPU variants; foundry model run <β¦-npuβ¦> fails with "Model β¦ was not found in the catalog or local cache".
- SDK (Python / C# / JS / Rust) β
list_catalog_models() / equivalent returns no NPU variants. The CLI now consumes the SDK, so the CLI and SDK results are always consistent.
- Silent CPU fallback β running a model by alias (e.g.
phi-3.5-mini) without explicitly listing first appears to "work", but inference runs on CPU because the NPU variant was filtered out of the catalog. Look for the chosen variant ending in -cpu / -generic-cpu rather than -qnn-npu / -vitis-npu / -openvino-npu.
- Logs may include "Failed to download or register the following EPs: QNNExecutionProvider / VitisAIExecutionProvider / OpenVINOExecutionProvider".
Root cause
Foundry Local relies on Windows ML to download and register the per-vendor Execution Provider (QNN for Qualcomm, VitisAI for AMD, OpenVINO for Intel, TensorRT-RTX on Nvidia). EP download uses the Windows Update delivery channel, so anything blocking Windows Update blocks the EP. When the EP isn't registered, Foundry Local filters NPU variants out of the catalog β so both CLI and SDK stop listing them, and model run resolves to the next-best (usually CPU) variant.
The three most common causes (per the official Windows ML troubleshooting guide):
- Pending Windows Update reboot β Restart the device and retry.
- Windows Updates paused β Settings β Windows Update β Resume updates.
- Managed device / enterprise policy blocking Windows Update or component downloads β Contact your IT admin; the EP cannot be sideloaded.
Full guidance: https://learn.microsoft.com/windows/ai/new-windows-ml/execution-provider-errors
Quick verification
foundry cache ls # do EPs appear?
foundry model ls --device npu # filter to NPU only
To confirm a silent CPU fallback, check which variant got resolved β the variant ID in the run output will end in -cpu rather than -npu.
If none of the above helps β file a Feedback Hub report
This is important: a Feedback Hub report automatically captures the WinML EP-download logs the team needs. Please route it to the WinML team by selecting the correct category:
- Launch Feedback Hub β Select Start, type Feedback Hub in the search bar, and open the Feedback Hub app.
- Select Report a problem.
- Describe your issue (e.g. "NPU execution provider failed to download / register; NPU models missing from Foundry Local catalog").
- For the category, select Developer Platform β Windows Machine Learning.
- Follow the prompts to reproduce the problem and submit.
Then comment on this issue with:
- the Feedback Hub link to your report,
- NPU vendor + driver version,
- Foundry Local version (
foundry --version),
- whether
foundry cache ls shows any EP entries.
Related closed issues: #510, #393, #558, #584, #659.
π If you're hitting this on a Windows device that has an NPU (Snapdragon X / X2 Elite, Intel Core Ultra, AMD Ryzen AI) or GPU (Nvidia TRT-RTX), please react with π on this issue so we can gauge impact. Only add a comment if the fixes below don't resolve it for you.
Symptoms
Any of the following on a device with a working NPU:
foundry model listshows only CPU variants;foundry model run <β¦-npuβ¦>fails with "Model β¦ was not found in the catalog or local cache".list_catalog_models()/ equivalent returns no NPU variants. The CLI now consumes the SDK, so the CLI and SDK results are always consistent.phi-3.5-mini) without explicitly listing first appears to "work", but inference runs on CPU because the NPU variant was filtered out of the catalog. Look for the chosen variant ending in-cpu/-generic-cpurather than-qnn-npu/-vitis-npu/-openvino-npu.Root cause
Foundry Local relies on Windows ML to download and register the per-vendor Execution Provider (QNN for Qualcomm, VitisAI for AMD, OpenVINO for Intel, TensorRT-RTX on Nvidia). EP download uses the Windows Update delivery channel, so anything blocking Windows Update blocks the EP. When the EP isn't registered, Foundry Local filters NPU variants out of the catalog β so both CLI and SDK stop listing them, and
model runresolves to the next-best (usually CPU) variant.The three most common causes (per the official Windows ML troubleshooting guide):
Full guidance: https://learn.microsoft.com/windows/ai/new-windows-ml/execution-provider-errors
Quick verification
To confirm a silent CPU fallback, check which variant got resolved β the variant ID in the run output will end in
-cpurather than-npu.If none of the above helps β file a Feedback Hub report
This is important: a Feedback Hub report automatically captures the WinML EP-download logs the team needs. Please route it to the WinML team by selecting the correct category:
Then comment on this issue with:
foundry --version),foundry cache lsshows any EP entries.Related closed issues: #510, #393, #558, #584, #659.