- extra_model_paths.yaml is now ignored (not merged) when extra_paths.yaml
exists; warning message clarified to instruct deletion/migration
- System directory keys (output/input/temp/user) now gated behind
allow_system_dirs=True; only extra_paths.yaml sets this flag, so
legacy extra_model_paths.yaml files cannot accidentally call
set_*_directory() if a block happens to be named 'output' etc.
- Add test_system_dir_keys_not_applied_for_legacy to cover the guard
Replace the model-only extra_model_paths.yaml with a more generic
extra_paths.yaml that covers all ComfyUI path configuration in one file.
New schema (nested style):
comfyui:
base_path: /path/to/comfyui/ # install root
output: output/ # → set_output_directory()
input: input/
temp: temp/
user: user/
custom_nodes: custom_nodes/ # explicit only, never auto-scanned
models:
base_path: models/ # model root, relative to parent base_path
is_default: true
checkpoints: checkpoints/ # or omit all categories to auto-scan
Key changes:
- System directory keys (output/input/temp/user) call set_*_directory()
- models: sub-block separates model paths from install-root paths; base_path
at block root = install root; models/base_path = model root
- custom_nodes never auto-registered by implicit scan (fixes CodeRabbit #13560)
- Flat style fully preserved for backward compat with extra_model_paths.yaml
- extra_paths.yaml loaded first; deprecation warning logged if both present
- extra_paths.yaml.example covers all 22 model categories with preset paths
- extra_model_paths.yaml.example gains a deprecation note
* add 'is_default' to model paths config
including impl and doc in example file
* update weirdly overspecific test expectations
* oh there's two
* sigh
* Expand user path.
* Add test.
* Add unit test for expanding base path.
* Simplify unit test.
* Remove comment.
* Remove comment.
* Checkpoints.
* Refactor.