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
- ComfyUI execution.py validation — rechecked 2026-09-26.
- ComfyUI Server API routes — rechecked 2026-09-26.
English source review completed 2026-09-26. No local API submission, workflow or GPU run, memory measurement or runtime guarantee is claimed.
Related troubleshooting and guides
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