Reference only

Bad linked input: represent API connections with a source node and output slot

An inputs list may be interpreted as a link rather than a literal array. Inspect serialization before assuming every JSON list will reach a node unchanged.

Symptoms and scope

An inputs list may be interpreted as a link rather than a literal array. Inspect serialization before assuming every JSON list will reach a node unchanged.

Error fragments for search; IDs, values and filenames may vary:

Bad linked input
bad_linked_input

Source-supported context

Current core validation treats any plain list input as a link and emits bad_linked_input when its length is not exactly two. The intended ordinary link is [source_node_id, slot_index]. A two-element literal list can instead be interpreted as a link and produce a different error; the same source code unwraps {"__value__": [...] } for a literal list intended by a compatible input. Check that the target node actually accepts that value. The server's POST /prompt validates a submitted prompt and returns validation errors when it fails. Core validator Server route

Cases to distinguish

1. UI-format links were copied directly into an API inputs object.

2. A link list has the wrong length, such as a missing slot or an extra UI-link field. A two-element pair with an invalid source ID or slot may fail later under a different error.

3. A literal array is sent as a plain list: non-pairs hit bad_linked_input, while pairs are treated as connections even when they were intended as data.

Diagnostic sequence

The sequence below is an editorial procedure based on the cited context, not a diagnosis already confirmed for your environment.

Step 1. Build a minimal valid example in the native UI and inspect its supported API export for this particular input.

Step 2. Check that ordinary link source IDs exist and output slots are valid in the current node definition.

Step 3. For a literal array accepted by the target node, compare the current API export with the core {"__value__": [...]} wrapper; do not assume a plain JSON list passes through unchanged.

Step 4. Validate the request structure before sending it. Distinguish this list-length error from a missing source ID, invalid slot, return-type mismatch or node-specific value rejection.

Completion check

bad_linked_input disappears without turning the intended business array into a different connection.

Limitations and cautions

This explains the reviewed core's rules, not every nested subgraph, custom list node or future serialization format.

Original sources

English source review completed 2026-09-26. No local API submission, workflow or GPU run, memory measurement or runtime guarantee is claimed.

Didn't solve it?

Check the next possible cause

The same symptom can come from a different cause. Work through these related entries in order.

  1. Return type mismatch: inspect the source output slot and destination inputReturn type mismatch between linked nodesIMAGE, LATENT, MODEL and CONDITIONING have different roles. A drawable connection or similar socket color is not sufficient evidence of a valid interface.
Paste your full log into the error finder

Was this page helpful?

Anonymous. Only a yes/no counter is stored; no account, IP address or device details.

Sources & references

2026-09-26 checked current ComfyUI execution.py list/link validation and literal-value wrapper plus official /prompt route; English source review only. No local API submission, workflow or GPU run.

01ComfyUI execution.py validationSource checked: 2026-09-2602ComfyUI Server API routesSource checked: 2026-09-26

Report an issue · 23a3829c-6bfd-50bd-892e-b583a46a5ef1