mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[GH-ISSUE #3128] Batch install/uninstall map every 404 to the "default channel" message, masking the real denial reason #1107
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-Manager#1107
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @plz12345 on GitHub (Aug 4, 2026).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI-Manager/issues/3128
Version: ComfyUI-Manager 3.41, commit
d404e623(cleanmain, unmodified checkout)Summary
Two denial-diagnostics defects that compound. A user blocked by the loopback term of
allow_git_url_installis told their channel / security level is the problem, and the log line the dialog defers to tells them to enable a setting that is already enabled. Following both messages exactly leaves you stuck, with no indication of the actual gate.This is about the messaging only — the loopback bound itself is intentional per #2991.
1.
/manager/queue/installdiscards the server's 404 bodyThe server returns a distinguishable body (
glob/manager_server.py:1498and:1503):The client throws it away (
js/custom-nodes-manager.js:1484):The
elsebranch immediately below already does the right thing.The substituted copy points at
security_leveland channel configuration, and neither can resolve this denial. Therisky_level == 'high'arm routes throughis_dedicated_install_allowed()and never consultssecurity_levelat all — settingsecurity_level = weakchanges nothing. That is a false lead users do follow.The uninstall path has the same defect at
js/common.js:667.For contrast, the dedicated
/customnode/install/git_urlsurface handles this correctly: 403, withjs/common.js:274naming the responsible flag. Only the batch path is affected.2.
SECURITY_MESSAGE_FLAG_GIT_URLomits the loopback requirementglob/manager_server.py:40:But the predicate is flag AND loopback (
glob/manager_server.py:90):With
allow_git_url_install = Trueand--listen 0.0.0.0, that message is emitted verbatim — instructing the user to set a value that is alreadytrue, and never mentioning the network-position requirement.SECURITY_MESSAGE_FLAG_PIPhas the same omission. By comparison,SECURITY_MESSAGE_NORMAL_MINUSdoes spell out its--listencondition.I suspect this accounts for a fair share of the traffic on #3023: many reports there are of the form "I set it to true and it still doesn't work", which is exactly what this message produces on a non-loopback listener.
Reproduction
user/__manager/config.ini:Launch:
python main.py --listen 0.0.0.0 --port 8188Install any node pack whose repo URL is not in
custom-node-list.json, from the Custom Nodes Manager UI.Actual
[Installation Errors] '<pack>': With the current security level configuration, only custom nodes from the "default channel" can be installed.ERROR: This action requires 'allow_git_url_install = true' in config.ini ([default] section).— while it is alreadyTrue.Expected
A message naming the gate that actually fired, e.g. "Install via git URL requires
allow_git_url_install = trueAND ComfyUI listening on a loopback address (currently: 0.0.0.0)."Suggested fix
js/custom-nodes-manager.js:1484andjs/common.js:667: surfaceawait res.text()for 404 as theelsebranch does, or give the two 404 arms distinct copy.SECURITY_MESSAGE_FLAG_GIT_URL/SECURITY_MESSAGE_FLAG_PIP: state the loopback requirement alongside the flag, ideally including the current--listenvalue.@ltdrdata commented on GitHub (Aug 15, 2026):
Resolved by #3157 and #3161.