LykosAI/StabilityMatrix · error · ValidationException
Prompt extensions not installed
Error message
Prompt extensions not installed
What it means
RunGeneration validates, for the first batch (BatchIndex == 0), that all required prompt extensions (e.g. custom nodes needed by the built node graph) are installed on the connected backend via CheckPromptExtensionsInstalled. If any are missing it throws ValidationException('Prompt extensions not installed') to stop the run early rather than failing server-side.
Solutions
- Install the required prompt extensions (ComfyUI custom nodes) the workflow depends on, then retry.
- Use the app's extension manager (CheckpointManager/extension installer) to add the missing node packs reported by the validation.
- Pick a generation template/workflow that only uses built-in nodes if you cannot install extensions.
- Run CheckPromptExtensionsInstalled on the built nodes before invoking generation and surface a friendly install prompt.
Example fix
// before
await RunGeneration(args); // ValidationException at runtime
// after
if (!await CheckPromptExtensionsInstalled(args.Nodes))
{
await Dialogs.ShowExtensionsInstallDialog();
return;
}
await RunGeneration(args); Defensive patterns
Strategy: validation
Validate before calling
if (!await CheckPromptExtensionsInstalled(args.Nodes))
{
await ShowMissingExtensionsDialog();
return;
} Try / catch
try { await RunGeneration(args); }
catch (ValidationException ex) { Dialogs.ShowDialog("Missing extensions", ex.Message); } Prevention
- Install all custom nodes an imported workflow/template requires before running it.
- Run the extension check (CheckPromptExtensionsInstalled) before dispatching generation.
- Keep ComfyUI extension packs updated and consistent across checkpoints/servers.
When it happens
Trigger: Submitting a generation whose node graph references extension nodes (custom nodes) that are not installed on the connected ComfyUI instance — e.g. missing extensions for ControlNet, IPAdapter, or other third-party nodes the template requires.
Common situations: Fresh ComfyUI install without custom nodes; switching to a different backend checkpoint/server that lacks the extensions; shared workflows/templates authored with extensions the local install never added; extension update/checkpoint mismatch after a version change.
Understand the failure class
Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.
Related errors
- Sampler not selected
- Scheduler not selected
- Length cannot be null when latentType is Hunyuan
- No ImageSource
- Model not selected
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/2bc1dcbb8053358e.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Avalonia/ViewModels/Base/InferenceGenerationViewModelBase.cs:297
var client = args.Client;
var nodes = args.Nodes;
// Checks
if (args.Parameters is null)
throw new InvalidOperationException("Parameters is null");
if (args.Project is null)
throw new InvalidOperationException("Project is null");
if (args.OutputNodeNames.Count == 0)
throw new InvalidOperationException("OutputNodeNames is empty");
if (client.OutputImagesDir is null)
throw new InvalidOperationException("OutputImagesDir is null");
// Only check extensions for first batch index
if (args.BatchIndex == 0)
{
if (!await CheckPromptExtensionsInstalled(args.Nodes))
{
throw new ValidationException("Prompt extensions not installed");
}
}
// Upload input images
await UploadInputImages(client);
// Upload required files
await UploadPromptFiles(args.FilesToTransfer, client);
// Connect preview image handler
client.PreviewImageReceived += OnPreviewImageReceived;
// Register to interrupt if user cancels
var promptInterrupt = cancellationToken.Register(() =>
{
Logger.Info("Cancelling prompt");
client
.InterruptPromptAsync(new CancellationTokenSource(5000).Token)View on GitHub (pinned to af93d6ef57)