Text Dictionary Update
Merge two WAS dictionaries into one
Two dictionaries in, one dictionary out - the README puts it plainly: "merge two dictionaries." That's Text Dictionary Update's entire job, and it's the node that makes WAS's dictionary family actually composable instead of a pile of one-off boxes.
Where this fits
The pattern it enables is base-plus-overrides. Build a dictionary of defaults with Text Dictionary New - your standard style, your usual negative terms, whatever settings repeat across most of your runs - then build a second, smaller dictionary of just the things that change this run, and merge them here. You keep one stable base instead of retyping the whole thing every time you want to vary one field.
It's also how you assemble a dictionary from more than one source. Text Dictionary Convert can parse a dictionary out of loaded text; if you need to combine that with values you built directly in the graph, this is the node that stitches the two together into something Text Dictionary Get or Text Dictionary Keys can read as one object.
How it works
Standard dictionary merge semantics: the two DICT objects you feed in are combined into a single dictionary. Where WAS's underlying Python dict-merge behavior applies, a key present in both inputs typically resolves to whichever one is treated as the "update" side, mirroring how Python's own dict.update() works - so if you're relying on a specific key winning a collision, it's worth confirming with Text Dictionary Keys (or Get) on the merged result rather than assuming, since I don't have a formal schema confirming which input takes priority.
The inputs and outputs that matter
Two dictionary inputs - both DICT-type objects sourced from any of WAS's other dictionary nodes - and one merged DICT output. That output wires straight into anything else in the family: Get to read a value back out, Keys to confirm what actually survived the merge, or another Update if you're layering in a third source.
How to install it
Bundled with WAS Node Suite, no separate download.
ComfyUI Manager: search "WAS Node Suite," install, restart.
Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
then install requirements.txt against your ComfyUI Python and restart. Pure data handling - no model, no GPU.
Common issues & troubleshooting
A value you expected got overwritten. This is the classic merge-order trap with any dict update: if the same key exists in both inputs, one of them wins, and it's not always obvious which from the graph alone. Run the result through Text Dictionary Keys and Get to check what actually landed before assuming the node dropped or ignored a value.
Merged dictionary looks empty or wrong. Confirm both inputs are genuinely DICT objects and not plain text - a text string that merely looks like a dictionary won't merge; it needs to come from Text Dictionary New or Text Dictionary Convert first.
Every WAS node throws "Import Failed." Not this node specifically - the whole pack has been unmaintained since December 2023, and a ComfyUI core update can knock its pinned dependencies out of sync, taking every WAS node offline at once. Reinstall requirements.txt against the correct, activated Python environment (or run install.bat) and restart to bring them back.
Inputs (0)
No inputs
Outputs (0)
No outputs