mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2026-08-22 22:57:51 +08:00
3.8 KiB
3.8 KiB
Extra Custom Node Paths
This feature allows you to load custom nodes from multiple directories, similar to how extra model paths work in ComfyUI.
Overview
ComfyUI now supports loading custom nodes from multiple directories through a YAML configuration file called extra_custom_node_paths.yaml. This is useful when you want to:
- Organize custom nodes in different locations
- Share custom nodes between multiple ComfyUI installations
- Keep custom nodes separate from the main ComfyUI directory
Configuration File
Create a file called extra_custom_node_paths.yaml in your ComfyUI root directory:
# Configuration for custom nodes
# The custom_nodes directory is always called "custom_nodes" and is located under base_path
# Each config section can only have one base_path
# Example configuration using base_path
# This will look for custom_nodes under the specified base_path
custom_nodes_example:
base_path: /path/to/base1
# Another example with a different path
other_custom_nodes:
base_path: /path/to/base
# You can add more custom node path configurations as needed
# additional_custom_nodes:
# base_path: another/base/path
Configuration Options
- base_path: The base directory path where the
custom_nodessubdirectory is located- Can be relative or absolute paths
- Relative paths are resolved relative to the YAML file location
- The system automatically looks for a
custom_nodessubdirectory under each base_path
## How It Works
1. **Automatic Loading**: ComfyUI automatically looks for `extra_custom_node_paths.yaml` in the root directory
2. **Path Resolution**: All base paths are resolved to absolute paths and validated
3. **Subdirectory Detection**: The system automatically appends `custom_nodes` to each base path
4. **Integration**: Custom node paths are added to the existing custom nodes system
5. **Compatibility**: Works seamlessly with existing custom node functionality
## Example Use Cases
### Shared Custom Nodes
```yaml
# Share custom nodes between multiple ComfyUI installations
shared_nodes:
base_path: /shared/custom_nodes
Relative Paths
# Use relative paths for portable configurations
portable_config:
base_path: ../shared_custom_nodes
File Structure
The custom node directories should follow the standard ComfyUI custom node structure:
base_path/
└── custom_nodes/
├── node_name_1/
│ ├── __init__.py
│ └── nodes.py
├── node_name_2/
│ ├── __init__.py
│ └── nodes.py
└── ...
Troubleshooting
Path Not Found
- Ensure the directory exists and is accessible
- Check file permissions
- Verify the path is correctly formatted in the YAML file
- Make sure there's a
custom_nodessubdirectory under the specified base_path
Custom Nodes Not Loading
- Check the ComfyUI console for error messages
- Verify the YAML syntax is correct
- Ensure the custom node directories contain valid Python modules
Technical Details
- Custom node paths are loaded during ComfyUI startup
- Paths are validated for existence before being added
- The system maintains the order of paths (default paths first)
- Duplicate paths are automatically handled
- All paths are normalized and resolved to absolute paths
- Each config section can only specify one base_path
Compatibility
This feature is compatible with:
- All existing custom node functionality
- The existing custom node loading system
- Command line arguments and configuration files
- All supported operating systems
See Also
- Extra Model Paths - Similar functionality for model paths
- Custom Nodes Documentation - General custom node information
- ComfyUI CLI Arguments - Command line options