Bridge Input (ANY ✦)
One node that accepts anything
- value
- value
Sometimes you don't know what type is going to flow through a bridge until the workflow is already running. That's the entire job of Bridge Input (ANY ✦) - the asterisk in the display name is the giveaway. This is ComfyBridgeIO's wildcard input, the one node that accepts any ComfyUI type and passes it straight through.
Under the hood it leans on the same escape hatch the plumbing layer uses everywhere: ComfyUI's * (ANY) type, which a node declares to accept "anything" - a model, a latent, a string, a mask, whatever - and then does its best to make sense of what arrives. The pack's implementation is the classic AnyType trick: a string subclass whose __ne__ always returns False, so ComfyUI's type checker considers it compatible with every socket. That's a real engine feature, not a hack specific to this pack - the wildcard is what makes switch nodes and context buses possible at all.
The node itself is minimal: required name (STRING, default "input_name"), optional value input socket of type *, and a single value output socket of type *. Wire anything into it, the output carries whatever came in. The client's schema extraction reports it as an ANY input, and its patch_inputs writes whatever value the agent passes straight through with no type conversion - which is exactly why it's the bridge you reach for when the agent needs to inject something but the workflow author couldn't pin the type down in advance.
Where this shines: dynamic workflows where the same bridge might carry a string in one run and a mask in the next, or multi-path graphs where several differently-typed outputs converge on one named point for the agent to target. The cost is the one every wildcard carries - the type safety you gave up is now your job to police. A STRING bridge can't be fed a latent by accident; an ANY bridge absolutely can, and the failure will surface downstream, not at the socket.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/cbpark84/ComfyBridgeIO
Restart ComfyUI, or ComfyUI Manager → search ComfyBridgeIO → Install. No models, no heavy deps. Optional Python client (pip install -e in the repo; aiohttp, websockets, Pillow). The README's clone URL shows nicekate/ComfyBridgeIO - stale; the repo is cbpark84 as above.
Common issues
The wildcard's own flexibility is the main trap. You'll wire up an ANY bridge, feed it a string, and then wonder why a downstream node rejects it - because there's no type enforcement at the socket, the mismatch is deferred until the data hits something typed. If your workflow has a known type, prefer the specific bridge (STRING, IMAGE, ...) and keep ANY for the genuinely dynamic spots. Also worth knowing: the client's extract_schema() reports ANY inputs as type "ANY", so an agent consuming that schema knows it can't assume a shape - pass the value with the right Python type from the start.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| name | STRING | input_name | — |
| valueopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | * | — |