String
A plain string primitive that survives bypassed nodes and group layouts
- string
Yes, it's just a string in and a string out. But String [RvTools] exists for the same reason the whole pack's "passer" family exists, and the README says it plainly: nodes like rgthree's 'Display Anything' still have trouble pulling values from bypassed nodes. A primitive node like this sits between your text and the rest of the graph so the value keeps flowing even when upstream gets muted or bypassed. It's boring on purpose, and boring here is the feature.
How it works
value (STRING) in, string (STRING) out, pass-through. One required input with an empty default, one output. Convert the widget to an input if you want, place it in a group, and it behaves like any ComfyUI primitive - except it's tuned for the RvTools workflow style where passers and primitives get used as anchor points for groups and bypass logic.
Why you'd bother
Three real reasons, straight from how this pack is used:
- Bypass resilience - when you bypass a node upstream of a text consumer, having a primitive in the chain keeps the string socket alive so you don't lose the connection.
- Group hygiene - the README describes using passers/primitives inside managed groups: they give you something to wire group inputs/outputs to and to "hide" widgets behind.
- Converting widgets to inputs - if you want a prompt or text value driven from another node instead of typed, this is the clean intermediate.
If you've never hit a bypassed-node problem, you may never need it - vanilla ComfyUI primitives handle simple cases. But in a big multi-group workflow with lots of muting, a dedicated string primitive is cheap insurance.
Installing it
ComfyUI Manager → search ComfyUI-RvTools_v2, install, restart; or:
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
No model downloads, zero extra dependencies - it's a pure pass-through with no imports beyond the pack's core.
Gotchas
The pack is no longer maintained (superseded by ComfyUI_Eclipse) - for a node this trivial it doesn't matter, but know that new ComfyUI frontend changes occasionally break old primitive widgets and this pack won't be patched for them. And the v2 rename: legacy ComfyUI-RvTools v1 workflows reference different class names and will show this missing - that's the pack's known quirk, not an install failure. If you're building a fresh workflow and just want a text field, the built-in ComfyUI String node is fine; pick this one specifically when bypass/group behavior is your concern.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |