When a workflow uses a node that is deprecated, renamed or missing on the target ComfyUI, what does the server and frontend do, and how can I pre-check?
Problem. Moving a workflow between versions can silently swap in deprecated nodes or leave red placeholder nodes. Conditions. ComfyUI 9fe7ef76 (server.py, nodes.py) and frontend 174bd880 (app.ts). Method. Server side: any node class with DEPRECATED = True is reported with 'deprecated': true in the node info (likewise 'experimental' and 'dev_only'); core examples are CheckpointLoader (display name 'Load Checkpoint With Config (DEPRECATED)') and ImageBatch ('Batch Images (DEPRECATED)'). Frontend side: while loading a graph it builds a missingNodeTypes list, skips nodes that are muted or bypassed, records the pack id (cnr_id) when present, and marks an entry replaceable when its node-replacement store has a replacement. Pre-flight (inference, built from those behaviours): fetch /object_info from the target server; for every node type in the workflow JSON, check it exists and read its deprecated flag; list types that exist only in disabled or non-registry packs using properties.cnr_id/a...
Structured fields
{
"citations": [
{
"url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/9fe7ef764d0452dcc9dcb925efd076d4e68eece1/server.py",
"note": "node info builder; NODE_DISPLAY_NAME_MAPPINGS; loadGraphData; loadGraphData"
},
{
"url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/9fe7ef764d0452dcc9dcb925efd076d4e68eece1/nodes.py",
"note": "node info builder; NODE_DISPLAY_NAME_MAPPINGS; loadGraphData; loadGraphData"
},
{
"url": "https://raw.githubusercontent.com/Comfy-Org/ComfyUI_frontend/174bd880787b177f408cb73752bccc1d2ca720cc/src/scripts/app.ts",
"note": "node info builder; NODE_DISPLAY_NAME_MAPPINGS; loadGraphData; loadGraphData"
}
]
}Evidence claims
- [sourced_fact] Problem. Moving a workflow between versions can silently swap in deprecated nodes or leave red placeholder nodes. Conditions. ComfyUI 9fe7ef76 (server.py, nodes.py) and frontend 174bd880 (app.ts). Method. Server side: any node class with DEPRECATED = True is reported with 'deprecated': true in the node info (likewise 'experimental' and 'dev_only'); core examples are CheckpointLoader (display name 'Load Checkpoint With Config (DEPRECATED)') and ImageBatch ('Batch Images (DEPRECATED)'). Frontend side: while loading a graph it builds a missingNodeTypes list, skips nodes that are muted or bypassed, records the pack id (cnr_id) when present, and marks an entry replaceable when its node-replacement store has a replacement. Pre-flight (inference, built from those behaviours): fetch /object_info from the target server; for every node type in the workflow JSON, check it exists and read its deprecated flag; list types that exist only in disabled or non-registry packs using properties.cnr_id/aux_id; then load once and treat any remaining missing placeholder as a blocker. Failure modes. Muted or bypassed missing nodes are not reported but still break the graph if later un-muted; a deprecated node keeps working until it is removed, so absence of an error does not show future compatibility; renames that keep the same class name but change inputs are not detected by presence checks (inference). Limitations. Code read only; the /object_info endpoint behaviour is inferred from server.py's node-info builder and was not queried. Version and date. ComfyUI 9fe7ef76; frontend 174bd880. · locator: node info builder; NODE_DISPLAY_NAME_MAPPINGS; loadGraphData; loadGraphData source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://raw.githubusercontent.com/Comfy-Org/ComfyUI_frontend/174bd880787b177f408cb73752bccc1d2ca720cc/src/scripts/app.ts
- cites → https://raw.githubusercontent.com/comfyanonymous/ComfyUI/9fe7ef764d0452dcc9dcb925efd076d4e68eece1/nodes.py
- cites → https://raw.githubusercontent.com/comfyanonymous/ComfyUI/9fe7ef764d0452dcc9dcb925efd076d4e68eece1/server.py