Learn how to debug why model responses fail to reach the next node in n8n with clear steps to fix workflow issues and ensure smooth automation.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
If a model node (like OpenAI, Anthropic, Local LLM, etc.) runs successfully but its output never reaches the next node, the fastest way to debug is to open the node’s Execution Data panel and confirm whether the node is actually returning items[]. n8n only passes data forward if the node outputs at least one item. If the output is empty, nested too deeply, or the next node is referencing the wrong field, the downstream node will see “no data” and simply not run or run with empty input. So the first thing to check is what the model actually returned inside the node’s JSON, then confirm your expressions (like {{$json["text"]}}) match that structure exactly.
The usual cause is that the model node technically “succeeded”, but its output isn’t in the format the next node expects. n8n passes data as an array called items, and each item has a json object. If the model’s text ends up inside a field you’re not referencing — for example data.completion instead of text — the next node receives nothing meaningful. Another common issue is that the node outputs an empty array, which stops the data flow entirely.
Below is the practical, real‑world method we use when debugging production n8n workflows involving LLM nodes.
[
{
"json": {
"text": "This is the model response." // Real example shape from Text Generation node
}
}
]
[
{
"json": {
"error": "Model request failed" // Example
}
}
]
{{$json["response"]}}
…but the model node output is…
{"text": "hello"}
…then the expression returns undefined. Fix it to:
{{$json["text"]}}
{
"choices": [
{
"message": {
"content": "hi there"
}
}
]
}
Your expression must follow that structure exactly:
{{$json["choices"][0]["message"]["content"]}}
model_output = {{$json}}
This forces you to inspect exactly what JSON survives to the next step.
Imagine the OpenAI node returns:
{
"text": "User summary generated."
}
But your next node uses:
{{$json["data"]["content"]}}
That will output nothing. The correct expression is:
{{$json["text"]}}
After correction, the next node receives the response and executes normally.
The rule of thumb: Always trust what Run Data shows, not what you think the node should output. n8n will only pass exactly what appears as items[i].json.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.