invoke-ai/InvokeAI · error · UnsupportedWorkflowNodeError
call_saved_workflow batch child workflow contains no support
Error message
call_saved_workflow batch child workflow contains no supported batch nodes
What it means
After scanning every invocation node in the called saved workflow, no node of a supported batch type was found, so batch_data_by_group stayed empty. A workflow_call with batching requires at least one recognized batch node to expand into child executions, so UnsupportedWorkflowNodeError is raised.
Source
Thrown at invokeai/app/services/session_processor/workflow_call_batch.py:625
)
batch_group_id = _get_batch_group_id(node_data)
destinations = _resolve_batch_destinations(node_id, field_name, workflow_nodes, workflow_edges)
if not destinations:
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow batch child workflow node '{node_id}' is not connected to any invocation input"
)
group_batch_data = batch_data_by_group.setdefault(batch_group_id, [])
for destination_node_id, destination_field in destinations:
group_batch_data.append(
BatchDatum(
node_path=destination_node_id,
field_name=destination_field,
items=_normalize_batch_item_for_destination(destination_field, batch_items),
)
)
if not batch_data_by_group:
raise UnsupportedWorkflowNodeError("call_saved_workflow batch child workflow contains no supported batch nodes")
_reject_unrelated_generator_nodes(mutable_workflow, used_generator_node_ids)
sanitized_workflow = _build_child_graph_workflow(mutable_workflow, used_generator_node_ids)
child_graph = build_graph_from_workflow(sanitized_workflow)
batch_data = [[datum] for datum in batch_data_by_group.pop("None", [])]
batch_data.extend(batch_data_by_group.values())
batch = Batch(graph=child_graph, data=batch_data)
if calc_session_count(batch) > maximum_children:
raise TooManySessionsError("call_saved_workflow exceeds remaining queue capacity for child workflow executions")
child_session_results: list[WorkflowCallChildSessionResult] = []
for session_id, session_json, field_values_json in create_session_nfv_tuples(batch, maximum_children):
generated_session = GraphExecutionState.model_validate_json(session_json)
child_session = parent_session.create_child_workflow_execution_state(generated_session.graph, call_frame)
child_session.id = session_id
field_values = [NodeFieldValue.model_validate(field_value) for field_value in json.loads(field_values_json)]
child_session_results.append(WorkflowCallChildSessionResult(session=child_session, field_values=field_values))
return child_session_resultsView on GitHub (pinned to 0b6a024f2f)
Solutions
- Add a supported batch node (per SUPPORTED_BATCH_TYPES) wired to an invocation input in the saved workflow.
- Call the workflow normally (without batch expansion) if you do not intend batching.
- Check SUPPORTED_BATCH_TYPES in workflow_call_batch.py and align your workflow's batch node type with a supported value.
- Verify the workflow record's node 'data.type' strings after upgrades; re-save the workflow in the current editor version.
Example fix
// before: workflow with only text-to-image nodes
// after: add a batch node feeding the prompt field
{"id":"b1","data":{"type":"batch","collection":["cat","dog"]}}
edges: b1 -> prompt_node Defensive patterns
Strategy: validation
Validate before calling
def has_supported_batch_node(workflow, supported_types):
return any(n.get("data", {}).get("type") in supported_types
for n in workflow.get("nodes", [])) Type guard
def is_supported_batch_type(node, supported_types) -> bool:
return node.get("data", {}).get("type") in supported_types Try / catch
try:
results = build_batch_child_workflow_session_results(...)
except UnsupportedWorkflowNodeError as e:
if "no supported batch nodes" in str(e):
raise WorkflowConfigError("workflow is not batch-enabled") from e Prevention
- Confirm the workflow is designed for batching before calling with batch expansion
- Re-check SUPPORTED_BATCH_TYPES after InvokeAI upgrades and re-save old workflows
- Validate node data.type strings when importing workflow JSON
- Skip batch expansion for workflows without supported batch nodes
When it happens
Trigger: build_batch_child_workflow_session_results completes its node loop without appending any BatchDatum because no node's data.type is in SUPPORTED_BATCH_TYPES (e.g. the workflow only has plain invocation nodes, or the batch node type was renamed/is unsupported).
Common situations: Calling a saved workflow that was never configured for batching; using a custom/older batch node type not in SUPPORTED_BATCH_TYPES; version drift where batch node types changed between InvokeAI versions; typo in node type from hand-edited workflow JSON.
Related errors
- call_saved_workflow does not yet support child workflows tha
- call_saved_workflow image-generator-backed batch child workf
- call_saved_workflow generator-backed batch child workflow no
- call_saved_workflow batch child workflow node '{node_id}' mu
- call_saved_workflow batch child workflow node '{node_id}' is
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/8d362ed09cf9e17b.
Report an issue: GitHub.