快速结论:该报错通常发生在使用 frontend 1.47 及以上版本的 ComfyUI 中,切换工作流标签页或触发工作流重载时,而工作流里包含 ImpactSwitch、LatentSwitch、SEGSSwitch 或 Impact Pack 中另外几类共用同一处理器的节点,并且其 slot 0 有连线。优先排查并升级 Impact-Pack 到包含 PR #1228 修复的版本。
适用环境:ComfyUI 0.28.0、frontend 1.47.9、Impact-Pack 8.28.3(700821e)、Windows 11;修复在 ComfyUI 0.32.0 实例中验证过;原报告未提供 Python、CUDA、PyTorch 或显卡版本。
最快修复方案:更新 Impact-Pack 到包含 PR #1228 的版本,该 PR 移除了会传入源节点 ID 的旧 slot-0 重连代码。
注意事项:Issue 提到“deleted nodes come back”很可能是同一个 configure() 中断导致的表象,而不是第二个独立 bug;修复后仍需实际切换标签页、保存并重载工作流来确认。若无法立即更新,可优先尝试临时移除 js/impact-pack.js 中两行 slot-0 hack 来规避,但这属于本地修改,非官方发布方案。
问题场景
在 ComfyUI 中使用 Impact-Pack 的开关类节点(ImpactSwitch、LatentSwitch、SEGSSwitch),以及 ImpactMakeImageList、ImpactMakeImageBatch、ImpactMakeMaskList、ImpactMakeMaskBatch、ImpactMakeAnyList、CombineRegionalPrompts、ImpactCombineConditionings、ImpactConcatConditionings、ImpactSEGSConcat 等共用同一 onConnectionsChange 处理器的节点。只要这些节点的第一个输入槽(slot 0,即 input1)有连线并保存,再切换到另一个工作流标签页后切回,就会在工作流重载阶段失败。首次全新打开页面加载同一工作流可能正常,因此问题容易被隐藏到切换标签页时才暴露。
报错原文
Loading aborted due to error reloading workflow data
TypeError: t.findInputSlot is not a function
at ComfyNode.connect (assets/promotionUtils-....js)
at nodeType.onConnectionsChange (extensions/ComfyUI-Impact-Pack/impact-pack.js:639)
at ComfyNode.configure ...
原因分析
问题出在 js/impact-pack.js 中旧的 slot-0 重连代码:它调用 node.connect(link_info.origin_slot, node.id, 'input1'),把源节点的数字 ID 当作目标节点传入。新版 frontend(>=1.47)在 connect() 中直接对目标调用 findInputSlot(...),传入 Number 会抛出 TypeError: t.findInputSlot is not a function。该异常从 configure() 内部向外抛出,导致整个工作流加载中止。此外,即使 ID 还能被解析,node.id 指向的也是源节点本身,连接目标应为开关节点 this,这段逻辑本身目标就不正确。由于当前 frontend 在恢复连线时会把 input1 的类型视为 '*',该分支得以进入,于是切换标签页重载路径上问题稳定复现。
环境排查
- 确认 ComfyUI 版本,Issue 复现环境为 0.28.0,修复验证环境为 0.32.0。
- 确认前端版本是否为 1.47 或更高,Issue 复现为 1.47.9。
- 确认 Impact-Pack 版本,复现为 8.28.3(700821e)。
- 检查出错工作流是否包含上述节点,并确认其 input1(slot 0)存在连线。
- 确认问题是否只在切换工作流标签页或重载工作流时出现,而不是首次全新打开页面。
解决步骤
- 确认当前 Impact-Pack 是否已包含 PR #1228。若否,更新到包含该修复的版本。
- 该 PR 的做法是移除旧的 slot-0 重连代码,因为这行代码向
node.connect()传入源节点 ID,导致 frontend >= 1.47 重载工作流时抛出TypeError: t.findInputSlot is not a function。 - 更新后重启 ComfyUI 并重新打开浏览器页面,确保加载的是新脚本。
- 如暂时无法更新,可优先尝试在本地
js/impact-pack.js中移除引发报错的两行 hack;Issue 报告者验证过,移除后下方类型传播循环在 frontend >=1.47 上仍能正确处理 slot-0 连线。这属于临时规避,后续仍应跟进官方修复。
验证方法
打开包含 ImpactSwitch 且 input1 已连线的工作流,切换到第二个工作流标签页后再切回,确认不再出现 “Loading aborted due to error reloading workflow data” 和 TypeError: t.findInputSlot is not a function;保存并重新加载工作流,确认节点删除等编辑能够保住、工作流可以正常执行。对 ImpactMakeAnyList(Make List (Any))等共用同一处理器的节点也建议做同样验证。
参考来源
ltdrdata/ComfyUI-Impact-Pack #1223
ltdrdata/ComfyUI-Impact-Pack PR #1228
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


