> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ovalbee.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ovalbee.com/_mcp/server.

# Wait

> Wait for all incoming execution branches to complete before continuing. Place at merge points in parallel flows.

## Overview

Waits until every node connected into it has completed in the same flow run, then starts the nodes connected after it.

Use it when parallel model-training branches and their evaluation steps must finish before one shared comparison step starts.
In the example below, the YOLO and DEIM branches both train and run [Evaluate object detection](/node-library/nodes/evaluate-evaluate-object-detection), then Wait lets the comparison run after both evaluations are complete.

```mermaid
flowchart LR
  n1["Run flow"] --> n2["Train YOLO"] --> n3["Evaluate object detection"] --> n4["Wait"]
  n1 --> n5["Train DEIM"] --> n6["Evaluate object detection"] --> n4
  n4 --> n7["Compare object detectors"]
```

## How it works

Checks, each time a node connected into it finishes, whether all of them have now completed in this flow run.

Holds the path until the last of those nodes has completed.

Runs once, then starts the nodes connected after it.

## FAQ

#### Which connections does it count?

Only execution connections into the node. Visual-only links are ignored, so they never make it wait.

#### What happens with a single upstream branch?

It passes through as soon as that branch finishes.

#### Can it run twice in one flow run?

No. It runs once per flow run, after the last branch completes.

#### What happens when a branch fails?

Wait never continues in that flow run. It needs every node connected into it to complete, so a failed, cancelled, or skipped node holds it for good. Fix the branch and run the flow again.

#### Why doesn't it continue after I rerun one branch?

A rerun that starts inside one branch is a new flow run, and the other branches don't run in it. Wait only counts nodes that completed in the same run, so start the flow from a point upstream of every branch, for example a [Run flow](/node-library/nodes/flow-control-run-flow) node.

#### Can I run it manually?

No. It only runs when a node connected into it finishes.

#### Does it change any data?

No. It has no inputs or outputs and only controls execution order.

## JSON config

Machine-readable node interface for automation and advanced usage.

#### Show JSON

```json
{
  "name": "Wait",
  "description": "Wait for all incoming execution branches to complete before continuing. Place at merge points in parallel flows.",
  "category": "Flow control",
  "namespace": null,
  "templateKey": "flow_control/wait",
  "version": "v1",
  "inputs": [],
  "outputs": [],
  "runtime": {
    "type": "headless",
    "devices": [
      "cpu"
    ],
    "dockerImage": null
  },
  "automation": {
    "wait_for_all_upstream": true
  }
}
```