LykosAI/StabilityMatrix · error · ValidationException
No Clip1 Selected
Error message
No Clip1 Selected
What it means
When the selected CLIP type is "flux", the builder needs a DualCLIPLoader (or GGUF variant) with two text-encoder files; it throws when SelectedClip1 is null so its RelativePath cannot be resolved. This fail-fast check precedes wiring Connections.Base.Clip.
Solutions
- Select the first CLIP/text-encoder file (e.g. clip_l.safetensors) in the Model card's Clip1 slot
- Also select Clip2 and Clip Type since Flux needs the complete dual-CLIP setup
- Re-select from the Model Manager if the CLIP file was renamed, moved, or deleted
Example fix
// before
var clipName1 = SelectedClip1?.RelativePath ?? throw new ValidationException("No Clip1 Selected");
// after
if (SelectedClip1 is null)
{
NotificationHelper.Warn("Select the primary CLIP model (clip_l)");
return;
}
var clipName1 = SelectedClip1.RelativePath; Defensive patterns
Strategy: validation
Validate before calling
if (vm.SelectedClipType == "flux" && vm.SelectedClip1 is null)
throw new InvalidOperationException("Flux requires Clip1 (e.g. clip_l) to be selected"); Type guard
bool HasClip1(ModelCardViewModel vm) => vm.SelectedClip1 is { RelativePath.Length: > 0 }; Try / catch
try { builder.ApplyStep(e); } catch (ValidationException ex) when (ex.Message == "No Clip1 Selected") { NotifyUser("Select the primary CLIP model for Flux"); } Prevention
- When enabling Flux mode, set both CLIP slots immediately
- Verify clip_l exists in the Model Manager before starting a Flux run
- Validate imported Flux templates for both CLIP selections
When it happens
Trigger: Building a Flux workflow with SelectedClipType == "flux" while the first CLIP slot (clip_l / T5 slot) has no selection, i.e. SelectedClip1 is null.
Common situations: Fresh Flux preset where the user set the model and VAE but not the two CLIP files; saved workflow whose clip_l file was moved/deleted; switching to Flux mode which newly requires the dual CLIP selection.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- No VAE Selected
- No Clip2 Selected
- No Clip Type Selected
- Refiner Model enabled but not selected
- VAE enabled but not selected
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/e449fd877bee19cd.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Avalonia/ViewModels/Inference/ModelCardViewModel.cs:1690
}
);
e.Builder.Connections.Base.Model = modelSamplingSd3.Output;
}
var vaeLoader = e.Nodes.AddTypedNode(
new ComfyNodeBuilder.VAELoader
{
Name = e.Nodes.GetUniqueName(nameof(ComfyNodeBuilder.VAELoader)),
VaeName = SelectedVae?.RelativePath ?? throw new ValidationException("No VAE Selected"),
}
);
e.Builder.Connections.Base.VAE = vaeLoader.Output;
if (SelectedClipType == "flux")
{
// DualCLIPLoader (GGUF variant can also load .safetensors, so any gguf pick routes there)
var clipName1 = SelectedClip1?.RelativePath ?? throw new ValidationException("No Clip1 Selected");
var clipName2 = SelectedClip2?.RelativePath ?? throw new ValidationException("No Clip2 Selected");
var clipType = SelectedClipType ?? throw new ValidationException("No Clip Type Selected");
e.Builder.Connections.Base.Clip = AnyClipIsGguf(SelectedClip1, SelectedClip2)
? e
.Nodes.AddTypedNode(
new ComfyNodeBuilder.DualCLIPLoaderGGUF
{
Name = e.Nodes.GetUniqueName(nameof(ComfyNodeBuilder.DualCLIPLoaderGGUF)),
ClipName1 = clipName1,
ClipName2 = clipName2,
Type = clipType,
}
)
.Output
: e
.Nodes.AddTypedNode(
new ComfyNodeBuilder.DualCLIPLoaderView on GitHub (pinned to af93d6ef57)