---
title: Debug a workflow
display: '*Debug* a workflow'
thumb: workflows/debug-a-workflow/thumb.webp
nav_title: Debug a workflow
summary:
  - "Find the first node whose output is wrong, fix it, and rerun from there."
  - "Change one thing at a time, and never rerun the whole graph to test a one-node fix."
  - "Run This Node pays for one node only; hover a node in error to read its message."
description: Find and fix failing nodes, wires that will not connect, empty outputs, bad prompts, wrong models and cost surprises, starting with the cheapest check.
section: workflows
order: 130
type: troubleshooting
level: Build
roles: [all]
time: { read: 8, do: 10 }
last_verified: 2026-10-12
related: [workflow-editor-tour, nodes-reference, prompts-and-llm-nodes, batches-loops-and-logic]
updated: 2026-10-12
canonical: https://learn.scenario.com/workflows/debug-a-workflow
---

Last updated: 2026-10-12

# Debug a workflow

> Find and fix failing nodes, wires that will not connect, empty outputs, bad prompts, wrong models and cost surprises, starting with the cheapest check.

In short:

- Find the first node whose output is wrong, fix it, and rerun from there.
- Change one thing at a time, and never rerun the whole graph to test a one-node fix.
- Run This Node pays for one node only; hover a node in error to read its message.


Most workflow problems sit at one node. Find the first node whose output is wrong, fix it, and rerun from there. Rerunning the whole graph pays again for every node that was already fine.

:::note As of October 2026
The models, settings and screens in this article are the ones Scenario offered in October 2026. New models and updates arrive often, so check the app for newer options before you choose.
:::

| Symptom | First thing to check |
|---|---|
| [A wire will not connect](#a-wire-will-not-connect) | The port colors: they must match |
| [A node fails or stays empty](#a-node-fails-or-stays-empty) | A required input that is not wired |
| [The output is wrong](#the-output-is-wrong) | The prompt the node actually received |
| [Loops and lists misbehave](#loops-and-lists-misbehave) | The **Split Text** delimiter |
| [The cost is higher than expected](#the-cost-is-higher-than-expected) | The group badges, then loops and multiple results |
| [The run is stuck](#the-run-is-stuck) | A paused **Approval** or Choose node |

## The isolation method

:::flow
Find | first wrong result, left to right |
Isolate | **Run This Node** |
Change one thing | prompt, model, setting or wire |
Continue | **Run From Here** |
Name it | rename or **Sticky Note** | text
:::

1. **Read the graph from left to right.** Click into each node's result. The first one that looks wrong is your suspect; everything after it inherits the problem.
2. **Run the suspect alone.** Hover it and choose **Run This Node**. Its inputs are the results already on the canvas, so you pay for one node.
3. **Change one thing.** The prompt, the model, a setting or a wire. Not three at once.
4. **Continue with Run From Here.** When the node is right, run it and everything after it.
5. **Name what you fixed.** Rename the node or add a **Sticky Note** so the next person knows why the setting is what it is.

Hover a node in error to read its message. Scenario's help center lists four node states: pending, running, complete and errored.

## A wire will not connect

| Cause | Fix |
|---|---|
| Port types differ | Ports connect by color: Image green, Video yellow, 3D red, Audio purple, Text blue. A blue **First Result** goes into **Prompt**, not into **Reference Images** |
| You dragged from an input | Wires start at an output (right side) and end at an input (left side) |
| You need a still from a video | Use the Video Generator's or Video Studio's **First Frame** or **Last Frame** output |
| You need text from an image | Put an **LLM Node** between them to describe the image |

## A node fails or stays empty

Fix in this order, cheapest first:

1. **A required input is not wired.** Check every port that the node needs. A generator with no **Prompt** has nothing to do.
2. **The upstream node is empty.** It never ran, or it failed. Run it first.
3. **The branch was not taken.** An **If-Else** sent data the other way, or an **Approval** was rejected. Follow the path the run took.
4. **The input file is unsupported or too large.** Use PNG, JPG or WebP for images, MP4 or MOV for video, OBJ, FBX or GLB for 3D.
5. **The model does not accept that combination.** Some models ignore reference images, or need a specific aspect ratio or duration. Click the model footer and check its capabilities in **Choose a Model**, or try a model from the same tab.
6. **The node is inactive.** Generators and the LLM Node have an **Is Active** port. If something is wired into it, check the value it receives.

## The output is wrong

Decide first whether the prompt or the model is at fault.

- **Read the prompt the node actually received.** If an LLM Node writes the prompt, run it alone and read **First Result**. A vague or chatty prompt ("Here is a prompt for you: ...") explains a vague image. Fix the instruction: end it with "Output only the prompt" ([LLM Node settings](https://learn.scenario.com/workflows/nodes-reference.md#llm-node-settings)).
- **Paste the same prompt into the Create page** with the same model. If the result is just as wrong there, the brief is the problem. If it is right there, look for a setting or reference that differs in the node.
- **Swap the model on the same prompt.** If a second model gets it right, the first one is a poor fit for the task. See [Choose a model](https://learn.scenario.com/courses/pick-the-right-model).
- **Check the references.** A reference image wired to the wrong input, or the wrong image in a multi-image node, pulls results off brief.

Normal variance is not a bug: the same prompt gives different takes, and an LLM writes a different prompt each run.

To make it repeatable, freeze the parts that must not move: copy a good LLM output into a **Text** node, and use **Prompt Builder** for fixed wording.

## Loops and lists misbehave

| Symptom | Likely cause | Fix |
|---|---|---|
| One result instead of many | **Split Text** delimiter does not match | Change the delimiter; check the chips it shows |
| Loop does nothing | Input list not connected, or the repeated nodes are not wired between the Loop and its **Loop (End)** | Wire the list into **Input List**, the Loop's item into the repeated nodes and the last result into **Loop (End)** |
| Fewer items than expected | **Slice Items** range runs past the end | Expected behavior; adjust **From Item** and **Number of Items** |
| If-Else always picks one side | The first case met wins, or the value is not what you think | Check the order of the cases, the field each condition uses and its operator ("contains" is for text, "=" compares the exact value). Run the upstream node alone and read its exact output |

## The cost is higher than expected

1. **Read the badges.** The badge next to the workflow title is the estimate for one full run; each group shows its share. Find the expensive group.
2. **Look for multipliers.** A **Loop** multiplies by items. **Number of Results** on an LLM Node, or several outputs on a generator, multiplies every node after it.
3. **Check resolution, quality and duration.** Higher settings and longer video cost more.
4. **Move cheap filters before expensive steps.** Pick or approve stills before they become video or 3D. See [Control cost](https://learn.scenario.com/browse) and [Repair at the cheapest stage](https://learn.scenario.com/browse).

On the runs measured for this Academy, the billed cost came in at or a little under the badge.

## The run is stuck

- **It is waiting for a person.** An **Approval** node or **Slice Items** in Choose mode is paused. On Slice Items, click **Select to Continue**.
- **It is still generating.** Video and 3D steps can take minutes. Watch the node states.
- **Too many runs at once.** The API documents 10 concurrent workflow runs per project; later runs wait their turn.

## When to contact support

Contact Scenario support when:

- **The same error repeats** on a known-good input after you have checked the wires, the model and the input format;
- **A run is charged** but no output appears;
- **The billed cost** is far above the badge.

Include the workflow ID (**...** > **Copy Workflow ID**), the time of the run, the node name and the error text.

Source: https://learn.scenario.com/workflows/debug-a-workflow
