AUTOMATIC1111/stable-diffusion-webui · critical · FileNotFoundError

No checkpoints found. When searching for checkpoints, looked

Error message

No checkpoints found. When searching for checkpoints, looked at:
 - file {os.path.abspath(shared.cmd_opts.ckpt)}
 - directory {model_path}
 - directory {os.path.abspath(shared.cmd_opts.ckpt_dir)}
Can't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations.

What it means

Raised by sd_models.py's checkpoint selection when checkpoints_list is empty: startup model discovery found no .ckpt/.safetensors in the models/Stable-diffusion directory, the --ckpt file, or --ckpt_dir. The WebUI cannot build a model without weights, so it raises FileNotFoundError listing every location it searched.

Source

Thrown at modules/sd_models.py:234


def select_checkpoint():
    """Raises `FileNotFoundError` if no checkpoints are found."""
    model_checkpoint = shared.opts.sd_model_checkpoint

    checkpoint_info = checkpoint_aliases.get(model_checkpoint, None)
    if checkpoint_info is not None:
        return checkpoint_info

    if len(checkpoints_list) == 0:
        error_message = "No checkpoints found. When searching for checkpoints, looked at:"
        if shared.cmd_opts.ckpt is not None:
            error_message += f"\n - file {os.path.abspath(shared.cmd_opts.ckpt)}"
        error_message += f"\n - directory {model_path}"
        if shared.cmd_opts.ckpt_dir is not None:
            error_message += f"\n - directory {os.path.abspath(shared.cmd_opts.ckpt_dir)}"
        error_message += "Can't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations."
        raise FileNotFoundError(error_message)

    checkpoint_info = next(iter(checkpoints_list.values()))
    if model_checkpoint is not None:
        print(f"Checkpoint {model_checkpoint} not found; loading fallback {checkpoint_info.title}", file=sys.stderr)

    return checkpoint_info


checkpoint_dict_replacements_sd1 = {
    'cond_stage_model.transformer.embeddings.': 'cond_stage_model.transformer.text_model.embeddings.',
    'cond_stage_model.transformer.encoder.': 'cond_stage_model.transformer.text_model.encoder.',
    'cond_stage_model.transformer.final_layer_norm.': 'cond_stage_model.transformer.text_model.final_layer_norm.',
}

checkpoint_dict_replacements_sd2_turbo = { # Converts SD 2.1 Turbo from SGM to LDM format.
    'conditioner.embedders.0.': 'cond_stage_model.',
}

View on GitHub (pinned to 82a973c043)

Solutions

  1. Place a .ckpt or .safetensors file into the models/Stable-diffusion directory shown in the message
  2. If using --ckpt, verify the path exists (ls the absolute path printed in the error)
  3. If using --ckpt_dir, confirm it is the directory that actually contains the weights
  4. Re-download the model (e.g. from huggingface.co/stabilityai or civitai) if the file was deleted or truncated to 0 bytes
Defensive patterns

Strategy: validation

Validate before calling

import os, glob
ckpt_dirs = [os.path.join('models', 'Stable-diffusion')]
found = [f for d in ckpt_dirs for f in glob.glob(os.path.join(d, '*.safetensors')) + glob.glob(os.path.join(d, '*.ckpt'))]
assert found, 'No checkpoint present; download one before launching'

Prevention

When it happens

Trigger: First launch with no model downloaded; --ckpt pointing to a moved/deleted file; --ckpt_dir set to an empty or wrong directory; model directory permissions preventing enumeration; model file with an unsupported extension.

Common situations: Fresh installs where the user expected a bundled model; moving model folders and forgetting the --ckpt_dir flag; headless/API setups whose launch script passes a stale checkpoint path.

Related errors


AI-assisted analysis of AUTOMATIC1111/stable-diffusion-webui@82a973c043 (2026-08-14). Data as JSON: /api/errors/0ce95fafb2bd3b25. Report an issue: GitHub.