Skip to content

Conversation

@Sasbom
Copy link

@Sasbom Sasbom commented Nov 5, 2025

Closes #10646

Implementation of changes proposed in linked issue.

  • Add documentation on COMFYUI_CUSTOM_NODES environment variable and --custom-nodes-directory client argument option on CustomNodeManager
  • Read --custom-nodes-directory in comfy.cli_args
    - Implement environment variable readout on main.apply_custom_paths, keeping intended prescedence in mind.

Additional changes: Support multiple folder entries by including a platform correct ';' / ':' delimiter, e.g.
--custom-nodes-directory "/path/to/folder1;/path/to/folder2"
export COMFYUI_CUSTOM_NODES=/path/to/folder1:/path/to/folder2

Please tell me if import sorting needs to be reverted!

… cli args or a COMFYUI_CUSTOM_NODES_DIR environment variable.
@Sasbom Sasbom requested a review from Kosinkadink as a code owner November 5, 2025 07:27
@Sasbom Sasbom changed the title QOL: custom_nodes directory override from passed in arg, or environment variable QOL: custom_nodes directory/directories override from passed in argument. Nov 6, 2025
Clarified documentation on custom nodes directory argument, removed documentation on environment variable
@Sasbom
Copy link
Author

Sasbom commented Nov 6, 2025

Excuse me for the plethora of commits, I applied relevant feedback from comments left on previous commits.

Have a nice day,

Sas

Sasbom and others added 11 commits November 10, 2025 08:35
… cli args.

bugfix: fix typo in apply_directory for custom_nodes_directory

allow for PATH style ';' delimited custom_node directories.

change delimiter type for seperate folders per platform.

feat(API-nodes): move Rodin3D nodes to new client; removed old api client.py (comfyanonymous#10645)

Fix qwen controlnet regression. (comfyanonymous#10657)

Enable pinned memory by default on Nvidia. (comfyanonymous#10656)

Removed the --fast pinned_memory flag.

You can use --disable-pinned-memory to disable it. Please report if it
causes any issues.

Pinned mem also seems to work on AMD. (comfyanonymous#10658)

Remove environment variable.

Removed environment variable fallback for custom nodes directory.

Update documentation for custom nodes directory

Clarified documentation on custom nodes directory argument, removed documentation on environment variable

Clarify release cycle. (comfyanonymous#10667)

Tell users they need to upload their logs in bug reports. (comfyanonymous#10671)

mm: guard against double pin and unpin explicitly (comfyanonymous#10672)

As commented, if you let cuda be the one to detect double pin/unpinning
it actually creates an asyc GPU error.

Only unpin tensor if it was pinned by ComfyUI (comfyanonymous#10677)

Make ScaleROPE node work on Flux. (comfyanonymous#10686)

Add logging for model unloading. (comfyanonymous#10692)

Unload weights if vram usage goes up between runs. (comfyanonymous#10690)

ops: Put weight cast on the offload stream (comfyanonymous#10697)

This needs to be on the offload stream. This reproduced a black screen
with low resolution images on a slow bus when using FP8.

Update CI workflow to remove dead macOS runner. (comfyanonymous#10704)

* Update CI workflow to remove dead macOS runner.

* revert

* revert

Don't pin tensor if not a torch.nn.parameter.Parameter (comfyanonymous#10718)

Update README.md for Intel Arc GPU installation, remove IPEX (comfyanonymous#10729)

IPEX is no longer needed for Intel Arc GPUs.  Removing instruction to setup ipex.

mm/mp: always unload re-used but modified models (comfyanonymous#10724)

The partial unloader path in model re-use flow skips straight to the
actual unload without any check of the patching UUID. This means that
if you do an upscale flow with a model patch on an existing model, it
will not apply your patchings.

Fix by delaying the partial_unload until after the uuid checks. This
is done by making partial_unload a model of partial_load where extra_mem
is -ve.

qwen: reduce VRAM usage (comfyanonymous#10725)

Clean up a bunch of stacked and no-longer-needed tensors on the QWEN
VRAM peak (currently FFN).

With this I go from OOMing at B=37x1328x1328 to being able to
succesfully run B=47 (RTX5090).

 Update Python 3.14 compatibility notes in README  (comfyanonymous#10730)

Quantized Ops fixes (comfyanonymous#10715)

* offload support, bug fixes, remove mixins

* add readme

add PR template for API-Nodes (comfyanonymous#10736)

feat: add create_time dict to prompt field in /history and /queue (comfyanonymous#10741)

flux: reduce VRAM usage (comfyanonymous#10737)

Cleanup a bunch of stack tensors on Flux. This take me from B=19 to B=22
for 1600x1600 on RTX5090.

Better instructions for the portable. (comfyanonymous#10743)

Use same code for chroma and flux blocks so that optimizations are shared. (comfyanonymous#10746)

Fix custom nodes import error. (comfyanonymous#10747)

This should fix the import errors but will break if the custom nodes actually try to use the class.

revert import reordering

revert imports pt 2

Add left padding support to tokenizers. (comfyanonymous#10753)

chore(api-nodes): mark OpenAIDalle2 and OpenAIDalle3 nodes as deprecated (comfyanonymous#10757)

Revert "chore(api-nodes): mark OpenAIDalle2 and OpenAIDalle3 nodes as deprecated (comfyanonymous#10757)" (comfyanonymous#10759)

This reverts commit 9a02382.

Change ROCm nightly install command to 7.1 (comfyanonymous#10764)
@Sasbom
Copy link
Author

Sasbom commented Nov 17, 2025

Superceded by: #10772 based on feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Allow custom_nodes directory to be modified through a passed in cli arg.

1 participant