Dependency cycle detected:查找工作流中的循环依赖
工作流某个输出依赖它自己,或者多个节点形成闭环,校验器无法找到正常的数据先后顺序。它不同于有专用循环语义的节点或受支持的控制流,不能仅按画布线条看起来绕了一圈判断。
现象与适用范围
工作流某个输出依赖它自己,或者多个节点形成闭环,校验器无法找到正常的数据先后顺序。它不同于有专用循环语义的节点或受支持的控制流,不能仅按画布线条看起来绕了一圈判断。
检索用原文或片段(具体编号、数值和文件名随环境变化):
Dependency cycle detected
dependency_cycle
已核对的依据
当前核心 validate_inputs 在遍历时检测普通依赖循环:错误的 details 给出带节点 ID/类名的可读路径,extra_info.cycle_nodes 给出不重复的节点 ID;cycle_path 只是源码局部变量,不是响应字段。普通依赖循环存在时,后续的核心循环校验会跳过。特定循环节点或子图的语义仍须核对其自身实现,不能用普通闭环替代。 C01
需要区分的情况
1. 手工重新连线时把下游输出接回了上游必需输入。
2. 脚本生成 API 图时复用了错误节点 ID 或链接,构造了自依赖。
3. 将有专用边界的控制流改写为普通依赖图,丢失了其实际语义。
建议的操作顺序
以下顺序是基于上述资料整理的诊断方案,不代表上游已经为你的环境确认了原因。
第 1 步。 先保存原图,再从 node_errors 的 dependency_cycle 错误读取 details 路径和 extra_info.cycle_nodes 节点 ID,按 ID/类名映射回当前图;不要假定显示标题唯一。
第 2 步。 检查闭环上的每条连接原本要表达什么,寻找误接、旧 ID 和复制后的重复引用。
第 3 步。 将迭代步骤改成当前版本支持的明确控制流或有限的展开流程;先用作者最小示例验证。
第 4 步。 重新导出并校验,注意切断环后是否留下缺少必需输入的节点,不能只追求错误横幅消失。
如何判断处理有效
普通数据依赖不再形成无效闭环,预期的迭代语义仍然保留,任务能正常产生结果。
注意事项与尚未确认的部分
此条目依据本轮核心代码,不保证旧版存在同名错误。切断任意一条线可能改变任务逻辑,修改前务必保留原图。
资料复核并独立审阅中文:2026-09-27。本站未在本机校验节点图、执行工作流或运行 GPU。
原始资料
- C01 · ComfyUI execution.py validation。复核:2026-09-27。
相关排查与操作
排查下一个可能的原因
同样的现象可能来自不同原因。可以按顺序查看下面这些相关条目。
- Bad linked input:API 连线必须表达节点 ID 与输出槽
Bad linked input通过 API 构造 inputs 时,列表值被当作节点连接,但不符合连接结构。特别是业务参数本身为数组时,不能假设任何 JSON 列表都会被当作普通值原样传入。 - Required input is missing:定位缺失输入,而不是反复点运行
Required input is missing服务端在执行前发现节点缺少必需输入。错误通常会给出节点和输入名;先修复这个明确缺口,再判断是否还有上游问题。
这篇内容对你有帮助吗?
匿名统计,只记录“有/没有帮助”的计数,不记录账号、IP 地址或设备信息。
资料来源
2026-09-27 复核 ComfyUI 当前 execution.py 的循环依赖响应字段及独立的循环校验分支,并独立审阅中文;未在本机执行节点图或 GPU。
01ComfyUI execution.py validation资料核对: 2026-09-27