invoke-ai/InvokeAI · error · RuntimeError
Can't start `--dev_reload` because jurigged is not found; `p
Error message
Can't start `--dev_reload` because jurigged is not found; `pip install -e ".[dev]"` to include development dependencies.
What it means
The --dev_reload hot-reload feature depends on the optional third-party package jurigged, which is only installed with the dev extras. enable_dev_reload() imports jurigged and converts a missing-module ImportError into a RuntimeError explaining how to install it.
Source
Thrown at invokeai/app/util/startup_utils.py:53
def invokeai_source_dir() -> Path:
# `invokeai.__file__` doesn't always work for editable installs
this_module_path = Path(__file__).resolve()
# https://youtrack.jetbrains.com/issue/PY-38382/Unresolved-reference-spec-but-this-is-standard-builtin
# noinspection PyUnresolvedReferences
depth = len(__spec__.parent.split("."))
return this_module_path.parents[depth - 1]
def enable_dev_reload(custom_nodes_path=None) -> None:
"""Enable hot reloading on python file changes during development."""
from invokeai.backend.util.logging import InvokeAILogger
try:
import jurigged
except ImportError as e:
raise RuntimeError(
'Can\'t start `--dev_reload` because jurigged is not found; `pip install -e ".[dev]"` to include development dependencies.'
) from e
else:
paths = [str(invokeai_source_dir() / "*.py")]
if custom_nodes_path:
paths.append(str(custom_nodes_path / "*.py"))
jurigged.watch(pattern=paths, logger=InvokeAILogger.get_logger(name="jurigged").info)
def apply_monkeypatches() -> None:
"""Apply monkeypatches to fix issues with third-party libraries."""
import invokeai.backend.util.hotfixes # noqa: F401 (monkeypatching on import)
def register_mime_types() -> None:
"""Register additional mime types for windows."""
# Fix for windows mimetypes registry entries being borked.View on GitHub (pinned to 0b6a024f2f)
Solutions
- Install dev dependencies: pip install -e ".[dev]" (includes jurigged)
- Or install jurigged alone: pip install jurigged
- Drop the --dev_reload flag if hot reloading is not needed
- Confirm you are in the correct virtualenv before launching
Example fix
// before $ invokeai --dev_reload # RuntimeError: jurigged not found // after $ pip install -e ".[dev]" $ invokeai --dev_reload
Defensive patterns
Strategy: try-catch
Validate before calling
import importlib.util
def dev_reload_available():
return importlib.util.find_spec('jurigged') is not None Try / catch
try:
enable_dev_reload(custom_nodes_path)
except RuntimeError as e:
if 'jurigged is not found' in str(e):
print('Hot reload unavailable; run: pip install -e ".[dev]"')
else:
raise Prevention
- Install dev extras in dev environments: pip install -e ".[dev]"
- Gate --dev_reload behind an environment check for jurigged
- Keep dev and production launch scripts separate
When it happens
Trigger: Launching invokeai with --dev_reload in an environment installed from PyPI or without dev dependencies, so `import jurigged` fails.
Common situations: Developers running a production install (pip install invokeai) and passing --dev_reload; fresh clones where `pip install -e ".[dev]"` was skipped; virtualenv not activated so dev extras missing.
Understand the failure class
Background: "X is not installed. Please install it with pip install Y": missing optional dependency errors — ImportError/ValueError raised when a library's optional extra was never installed — this error's family across 22 libraries.
Related errors
- Unsupported control_lllite type: {type(control_lllite)}
- The Anima ControlNet-LLLite model '{lllite_field.control_mod
- This Anima ControlNet-LLLite adapter is an inpainting adapte
- Unsupported Anima ControlNet-LLLite adapter: expected 3 or 4
- Invalid mode selected
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/d5c542a002a481ff.
Report an issue: GitHub.