mudler/LocalAI · warning · ValueError

Unknown pipeline: {class_name}

Error message

Unknown pipeline: {class_name}

What it means

Raised by get_pipeline_info when the requested class_name is not a key in the pipeline registry — this informational helper requires an exact (case-sensitive) registry hit, unlike resolve_pipeline_class which tolerates case differences. The registry is built from the installed diffusers version's discovered pipelines.

Source

Thrown at backend/python/diffusers/diffusers_dynamic_loader.py:523

def get_pipeline_info(class_name: str) -> Dict[str, Any]:
    """
    Get information about a specific pipeline class.

    Args:
        class_name: The pipeline class name

    Returns:
        Dictionary with pipeline information including:
        - name: Class name
        - aliases: List of task aliases
        - supports_single_file: Whether from_single_file() is available
        - docstring: Class docstring (if available)
    """
    registry = get_pipeline_registry()
    aliases = get_task_aliases()

    if class_name not in registry:
        raise ValueError(f"Unknown pipeline: {class_name}")

    cls = registry[class_name]

    # Find all aliases for this pipeline
    pipeline_aliases = []
    for alias, classes in aliases.items():
        if class_name in classes:
            pipeline_aliases.append(alias)

    return {
        'name': class_name,
        'aliases': pipeline_aliases,
        'supports_single_file': hasattr(cls, 'from_single_file'),
        'docstring': cls.__doc__[:200] if cls.__doc__ else None
    }

View on GitHub (pinned to 44413a9d06)

Solutions

  1. Use the exact class name spelling, e.g. get_pipeline_info('StableDiffusionPipeline').
  2. Enumerate valid names first via get_available_pipelines() / the registry keys and validate user input against them.
  3. Upgrade diffusers if the class should exist.

Example fix

# before
info = get_pipeline_info("stable-diffusion-xl-pipeline")

# after
info = get_pipeline_info("StableDiffusionXLPipeline")
Defensive patterns

Strategy: validation

Validate before calling

registry = get_pipeline_registry()
assert class_name in registry, f"unknown pipeline {class_name!r}; valid: {sorted(registry)[:20]}"

Type guard

def is_registered_pipeline(class_name: str) -> bool:
    return class_name in get_pipeline_registry()

Try / catch

try:
    info = get_pipeline_info(class_name)
except ValueError:
    info = None  # metadata lookup is optional; degrade gracefully

Prevention

When it happens

Trigger: Calling get_pipeline_info('stableDiffusionPipeline') (wrong case), a slug like 'stable-diffusion-pipeline', or a class unknown to the installed diffusers.

Common situations: UIs or scripts listing pipeline metadata with user free-text input, casing copied from docs that differs from the actual class name, or querying a pipeline from a newer diffusers than installed.

Related errors


AI-assisted analysis of mudler/LocalAI@44413a9d06 (2026-08-15). Data as JSON: /api/errors/3f7cfa0ac1a6cd58. Report an issue: GitHub.