LykosAI/StabilityMatrix · error · ValidationException
No Clip Model Selected
Error message
No Clip Model Selected
What it means
When building the Wan workflow's text-encoder stage, the card requires a CLIP/umt5 text-encoder model selection. If SelectedClipModel is null, SelectedClipModel?.RelativePath is null and the builder throws 'No Clip Model Selected' rather than creating a CLIPLoader with an empty name. This validates that every required loader node has a concrete file.
Solutions
- Select a CLIP text encoder (e.g. umt5-xxl) in the Wan model card's clip dropdown before generating.
- Ensure the encoder .safetensors/.gguf is placed in the shared text_encoders (clip) folder and rescan if missing.
- Re-pick the encoder after moving/restoring files, then save the workflow.
Example fix
// before
var clipName = SelectedClipModel?.RelativePath ?? throw new ValidationException("No Clip Model Selected");
// after
if (SelectedClipModel is null)
throw new ValidationException("No Clip Model Selected");
var clipName = SelectedClipModel.RelativePath; Defensive patterns
Strategy: validation
Validate before calling
if (card.SelectedClipModel is null)
throw new ValidationException("No Clip Model Selected"); Type guard
bool HasClip(WanModelCardViewModel c) => c.SelectedClipModel != null && !string.IsNullOrEmpty(c.SelectedClipModel.RelativePath);
Try / catch
try { card.ApplyStep(e); }
catch (ValidationException ex) when (ex.Message == "No Clip Model Selected")
{ /* prompt user to choose a text encoder */ } Prevention
- Treat text-encoder selection as a mandatory field in Wan workflows
- Check the clip folder is indexed before showing generate UI
- Re-validate saved clip paths on workflow load
- Group all required selections in one pre-flight check
When it happens
Trigger: Generating a Wan workflow without selecting a CLIP/umt5 text encoder in the model card, hitting WanModelCardViewModel.cs:211.
Common situations: User picked the unet and VAE but skipped the text-encoder dropdown; the umt5 t5 encoder file is not in the shared clip/text_encoders folder; saved workflow's clip path no longer resolves after a file move.
Understand the failure class
Background: "Must pass :limit option" / "Missing required option" — required option errors explained — this error's family across 41 libraries.
Related errors
- Klein 9B requires the qwen_3_8b text encoder, which isn't…
- Klein 4B requires the qwen_3_4b text encoder, which isn't…
- CLIP-L model not found
- Qwen Image Edit requires the Qwen2.5-VL 7B text encoder…
- No Clip1 Selected
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/05ec8291267f6b4f.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Avalonia/ViewModels/Inference/WanModelCardViewModel.cs:211
SelectedModel?.RelativePath ?? throw new ValidationException("Model not selected"),
WeightDtype = SelectedDType ?? "fp8_e4m3fn_fast",
}
);
}
var modelSamplingSd3 = e.Nodes.AddTypedNode(
new ComfyNodeBuilder.ModelSamplingSD3
{
Name = e.Nodes.GetUniqueName(nameof(ComfyNodeBuilder.ModelSamplingSD3)),
Model = modelLoader.Output,
Shift = Shift,
}
);
e.Builder.Connections.Base.Model = modelSamplingSd3.Output;
var clipName =
SelectedClipModel?.RelativePath ?? throw new ValidationException("No Clip Model Selected");
// The GGUF loader variant can also load .safetensors encoders
var clipOutput = SelectedClipModel is { IsGguf: true }
? e
.Nodes.AddTypedNode(
new ComfyNodeBuilder.CLIPLoaderGGUF
{
Name = e.Nodes.GetUniqueName(nameof(ComfyNodeBuilder.CLIPLoaderGGUF)),
ClipName = clipName,
Type = "wan",
}
)
.Output
: e
.Nodes.AddTypedNode(
new ComfyNodeBuilder.CLIPLoader
{
Name = e.Nodes.GetUniqueName(nameof(ComfyNodeBuilder.CLIPLoader)),View on GitHub (pinned to af93d6ef57)