String (Improved)
String (Improved) — the text carrier that keeps your prompts current
- trigger
- value
- json
- trigger
AugmentWaitString - "String (Improved)" in the menu - is the trigger-aware passthrough for text in Augment's Flow Control family. It's the node you reach for when the string isn't just a static prompt but a value that has to travel through a workflow and arrive current: a prompt built by another node, a filename from JSON Extract, a tag pulled out of metadata. A stock string primitive is compile-time and mostly immune to caching drama, but it's also dead weight - it can't participate in ordering.
This one can. Change the text, the trigger chain makes sure whatever reads it downstream actually re-runs.
How it works
The honest truth, from the source: it doesn't wait or hold the text. execute passes the string straight through and emits a trigger token. The sequencing comes from the pack's executor override - on import, Augment patches ComfyUI's execution internals so any node that takes or emits a TRIGGER type always re-runs and is never pruned by the output cache. Wire trigger outputs into the next stage's trigger input and you've pinned execution order for the text-dependent parts of your graph.
So it's less "wait for my text" and more "make sure this text arrives here, in this order, every run."
The inputs and outputs
Like the Int, Float and Bool Wait nodes, this one has a widget plus an override input:
value(STRING, required, default empty) - the widget. Type your prompt, filename, or label here.input(STRING, optional) - connect this and it overrides the widget. This is the interesting path: wire in an output from another node (a JSON-extracted value, a constructed prompt, a variable read) and the string follows that, not the widget.trigger(optional) - the sequencing input from a previous stage.- Outputs
value(STRING),json(AUGMENT_JSON),trigger(TRIGGER) - the string passes through, the trigger continues the chain, andjsoncarries a structured dump (type and value as a string) for Augment's JSON Extract / JSON Viewer.
Worth knowing: the json output is where Augment's "Data & Intelligence" story starts. Even this trivial passthrough reports structured JSON, which is how the pack plans to let an LLM read values mid-workflow and write them back.
How to install
Augment isn't on the ComfyUI registry yet, so it's a manual clone. The folder name is the classic gotcha:
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 - the pack imports everything as custom_nodes.augment.py.*, so the default folder name breaks every node. Restart ComfyUI afterward; nodes appear under Augment.
Dependencies are light (opencv-python, numpy, torch, Pillow, requests) and already installed from running ComfyUI. No model files, no API key - the paid API only applies to the pack's vector nodes.
Common issues
- Prompt edits "not sticking" - usually cache behavior; threading the string through this node and sequencing triggers forces downstream re-runs. If the text comes from another node, make sure it's on the
inputport, not stuck in the widget. - Node missing after install - folder name. Rename to
augmentand restart. - Graph re-runs more than before - by design. Trigger nodes always re-execute, so use Wait nodes where ordering genuinely earns its keep.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| value | STRING | — | |
| triggeropt | TRIGGER | — | |
| inputopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| value | STRING | — |
| json | AUGMENT_JSON | — |
| trigger | TRIGGER | — |