Global Folder and Project Settings 🦬
One knob for every save path in your workflow
- main_folder
- project_name
- date_format
The pack's file-saving system is a two-node act, and this is the ringmaster. Global Folder and Project Settings holds your main output folder, project name, and date format in one place - then any Save File Path and Name node in the graph picks them up automatically, even without a wire connecting them.
It's the "set it once, everything follows" pattern that ComfyUI's built-in save nodes never give you. If you're producing batches of images for one project, this single node is the difference between organized output and a pile.
How it works
Three inputs, three outputs:
- main_folder - the top-level folder under ComfyUI's output directory. Default
+ Z_Image_Turbo(yes, that's the author's own workflow bleeding through - change it). - project_name - used to build the per-project subfolder.
- date_format - a Python strftime string, e.g.
%y%m%d_%H%M%S(default) for compact timestamps or%Y-%m-%dfor readable dates.
When the graph runs, it resolves date_format with datetime.now().strftime(...) and writes all three values into a shared server-side state that the pack's Save File Path nodes read. That's the "like Use Everywhere" trick - the node comments call it an invisible connection. A version counter bumps every time it runs, so save nodes downstream know to re-evaluate.
Wire the three outputs into a Save File Path node if you want to be explicit, or just leave the connections off and let the invisible state do its thing.
Install
Standard Sokes Nodes 🦬 install - ComfyUI Manager → "ComfyUI Sokes Nodes" → Install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/m-sokes/ComfyUI-Sokes-Nodes.git
pip install -r requirements.txt
No model downloads, nothing special.
The gotcha: it's global, and it's order-dependent
Because the state is shared server-side, two of these nodes in the same graph is a footgun - whichever executes last wins, and execution order in ComfyUI isn't always what it looks like on screen. Keep one Global Folder and Project Settings node per workflow and you're fine.
Also worth knowing: the node reports itself as changed on every execution, so it always runs and always refreshes the shared state (that's by design - it makes the timestamp in filenames stay current). And Save File Path nodes fall back to the global state only when their own inputs are empty. Wire a specific folder into one save node and it'll override the global for that one - which is exactly how you'd handle a special-case output among a sea of normal ones.
For a pack that looks like random utilities at first glance, this little trio (Global Settings → Save File Path) is honestly the most thought-through part. Set it up once and your output folder stays tidy for the whole project.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| main_folder | STRING | + Z_Image_Turbo | — |
| project_name | STRING | Z_Image_Turbo GGUF | — |
| date_format | STRING | %y%m%d_%H%M%S | Date/time format using Python strftime codes. E.g: %y%m%d_%H%M%S (260322_143052) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| main_folder | STRING | Connect to Save File Path node's main_folder input |
| project_name | STRING | Project name for folder creation |
| date_format | STRING | Connect to Save File Path node's date_format input |