From fc2175ae03ec0125b8287ee1870ba0bcb4bd5a3a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 9 Oct 2025 12:02:51 +1100 Subject: [PATCH] fix(mm): ModelOnDisk skips dirs when looking for weights Previously a path w/ any of the known weights suffixes would be seen as a weights file, even if it was a directory. We now check to ensure the candidate path is actually a file before adding it to the list of weights. --- invokeai/backend/model_manager/model_on_disk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/model_manager/model_on_disk.py b/invokeai/backend/model_manager/model_on_disk.py index a86e94d3a4..a77853c8f3 100644 --- a/invokeai/backend/model_manager/model_on_disk.py +++ b/invokeai/backend/model_manager/model_on_disk.py @@ -45,7 +45,7 @@ class ModelOnDisk: if self.path.is_file(): return {self.path} extensions = {".safetensors", ".pt", ".pth", ".ckpt", ".bin", ".gguf"} - return {f for f in self.path.rglob("*") if f.suffix in extensions} + return {f for f in self.path.rglob("*") if f.suffix in extensions and f.is_file()} def metadata(self, path: Optional[Path] = None) -> dict[str, str]: path = path or self.path