Condition (Improved)
Condition (Improved) — keep your prompt stages from jumping the queue
- value
- trigger
- value
- json
- trigger
AugmentWaitCondition - "Condition (Improved)" in the menu - is the trigger-aware passthrough for ComfyUI's CONDITIONING type, part of Augment's Flow Control family. Conditioning is the stuff your text encoder produces: the positive and negative prompt embeddings that get handed to the sampler. It's one of the most fiddly things in a graph, because ComfyUI's output cache loves to skip re-encoding when it decides nothing changed - which is exactly when your multi-stage conditioning workflow decides to quietly run stale.
This node's job: carry a CONDITIONING value through your pipeline, in a specific order, every run.
How it works
The name overpromises, so here's the truth up front: it doesn't actually wait for a trigger. The source's execute passes the value straight through and emits a trigger token. The real mechanism is in the pack's executor override. On import, Augment patches ComfyUI's execution internals (execution.execute and the cache's change detection) so any node that touches a TRIGGER type always re-runs and is never pruned as "unchanged." Wire the trigger output of one stage into the trigger input of the next and you've pinned execution order on a graph that otherwise evaluates everything at once.
Practically: if you have a workflow with several conditioning steps - prompt → encode → maybe a second encode → sampler - and you need them to happen in that order without caching weirdness, you thread the CONDITIONING through this node and let the trigger outputs sequence the stages.
The inputs and outputs
value(CONDITIONING, required) - the conditioning to carry. Comes in on the wire; there's no widget on this one.trigger(optional) - the sequencing input from a previous stage.- Outputs
value(CONDITIONING),json(AUGMENT_JSON),trigger(TRIGGER) - the conditioning passes through untouched, the trigger continues the chain, andjsoncarries a small structured dump (type and value as a string) you can hand to Augment's JSON Extract or JSON Viewer.
Nothing to configure on the node itself - it's pure ordering and re-execution.
How to install
Augment isn't on the ComfyUI registry yet, so it's a manual clone. Watch the folder name - this is the one thing that reliably breaks installs:
cd ComfyUI/custom_nodes
git clone https://github.com/augment-lib/augment-ComfyUI augment
cd augment
pip install -r requirements.txt
The clone target must be augment, not the repo's default name, because every internal import is custom_nodes.augment.py.*. Wrong folder name and the nodes silently don't load. Restart ComfyUI afterward and everything shows up under Augment.
Dependencies are light - opencv-python, numpy, torch, Pillow, requests - and you already have them from running ComfyUI. No model files, no API key (the paid API is only the pack's PNG-to-SVG / SVG-to-PNG vector nodes).
Common issues
- Sampler feeding on stale conditioning - classic cache behavior; threading the CONDITIONING through a Wait node and sequencing the triggers fixes the ordering.
- Node not showing after install - folder name. Rename to
augmentand restart. - Weird execution errors after a ComfyUI update - the executor override patches internal APIs that shift between versions. Check the console for an
[augment]executor warning; updating the pack (or pinning ComfyUI) is the fix.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| value | CONDITIONING | — | |
| triggeropt | TRIGGER | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| value | CONDITIONING | — |
| json | AUGMENT_JSON | — |
| trigger | TRIGGER | — |