n8n Chat Errors: How to Fix Every Common Message
Exact fixes for the most common n8n chat errors: 'No response received', 'Response Mode must be set to Using Response Nodes', missing session ID, invalid JSON, CORS failures, and more.
Manoj Kumar

You built a chatbot in n8n, connected a chat widget, sent a test message, and instead of a reply you got an error. If you searched for that exact error text and landed here, good news: every common n8n chat error has a known cause and a quick fix, and this guide collects all of them.
- Every common n8n chat error, in the exact wording n8n shows you.
- What each error actually means under the hood.
- The exact steps to fix it in your workflow.
- A 5-step debugging checklist for the errors that don't have a clear message.
Each section below starts with the error message as n8n shows it, explains what's actually going wrong, and gives you the steps to fix it.
1. "No response received. This could happen if streaming is enabled in the Trigger but disabled in Agent node(s)"
Your input and output nodes disagree about streaming. The Chat Trigger (or Webhook) node is set to stream the response, but the AI Agent node that generates it has streaming turned off. The trigger opens a stream, waits for chunks that never arrive, and gives up.
- Open the AI Agent node in your workflow
- Click Add option and select Enable streaming, then toggle it on
- Save and activate the workflow, then send a test message
If you don't want streaming at all, do the reverse: open the Chat Trigger node and remove the Streaming response mode so both sides use the normal request-response flow.
Streaming must be on for both nodes, or off on both. Never one and not the other.
Our chat streaming setup guide walks through the full configuration.
2. "'Response Mode' in the Chat Trigger node must be set to 'Using Response Nodes'"
Your workflow contains a Chat node (previously called Respond to Chat), but the Chat Trigger isn't configured to hand response control over to it. The Chat node only works when the trigger explicitly delegates responses.
- Open the Chat Trigger node
- Under Options, add the Response Mode field if it isn't visible
- Set it to Using Response Nodes
- Save and test again
Two related gotchas: the Chat node is not supported when the Chat Trigger runs in Embedded Chat mode (use the Respond to Webhook node there instead), and it doesn't work inside subworkflows. The Chat Trigger node guide explains all the response modes and when to use each one.
3. "No session ID found. Expected to find the session ID in an input field called 'sessionId'"
Your memory node (for example Simple Memory) looks for a field named sessionId to keep conversations separate, and the data reaching it doesn't have one. This usually happens when the chat request comes from a custom widget or a Webhook node that names the field differently, or when the memory node sits behind a node that strips the field out.
- Check what your trigger actually outputs. The Chat Trigger node outputs
sessionIdautomatically; a plain Webhook node does not - If your session field has a different name, open the memory node and change the Session ID parameter to point at the right field, for example
{{ $json.body.sessionId }} - If the field is missing entirely, make sure your widget sends one. Most chat widgets send it by default
If multiple widgets share one workflow and conversations bleed into each other, that's a session key problem rather than an error. Our session management docs cover how to keep them separate.
4. "Workflow must be started from a Chat Trigger node"
Something tried to run this workflow through the chat channel, but the workflow's entry point isn't a Chat Trigger node. This also shows up when you open the built-in chat panel in a workflow whose trigger is a Webhook or Schedule node.
Add a Chat Trigger node as the workflow's starting point, or if you meant to call the workflow over HTTP, use its Webhook URL instead of the chat interface. One workflow can't be both unless you add both triggers.
5. "Invalid JSON in 'Response Body' field"
Your Respond to Webhook node is set to return JSON, but the text in its Response Body field isn't valid JSON. A missing quote, a trailing comma, or an unescaped expression result breaks the parse.
- Open the Respond to Webhook node
- Validate the Response Body content (paste it into any JSON validator)
- Watch out for expressions: if
{{ $json.output }}contains quotes or newlines, wrap the whole body in an expression that builds the object, for example{{ { "output": $json.output } }}, instead of hand-writing JSON around it
6. The widget loads but never replies (CORS)
No error in the widget, nothing in n8n executions, messages just vanish. Open your browser's developer console and you'll likely see a CORS error: the request was blocked because your site's domain isn't allowed to call the webhook.
- Open the Chat Trigger node
- Under Options, add Allowed Origins (CORS)
- Enter your site's exact origin, for example
https://www.yoursite.com. Multiple origins are comma-separated - Save and activate the workflow
The origin must match exactly, including the protocol and any www prefix.
7. Webhook returns 404
The widget is calling a URL that n8n isn't listening on. There are only three causes: you're using the test URL, the workflow isn't active, or the URL is stale.
Copy the production URL fresh from the Chat Trigger node, confirm the workflow is active, and update your widget's configuration. The three most common root causes are laid out below.
Test URLs only work while you're watching the workflow in the editor. Switch to the production URL.
Production webhooks only register when the workflow's Active toggle is on.
The webhook path changed, and your widget still points at the old one.
8. The bot replies with an empty message
The connection works, but the widget can't find the reply text in the workflow's response. Chat widgets look for specific field names (commonly output, text, or message), and your workflow's final node returns something else.
Check what your last node actually outputs, then align the two sides. With an AI Agent as the last node, the reply lives in the output field and works out of the box. If a Code or Set node builds the response, name the field output. The expected response format for custom backends is documented in our backend integration guide.
A 5-Step n8n Chat Debugging Checklist
When something misbehaves and the error isn't obvious, run through this list. It resolves the majority of chat issues.
Test executions in the editor don't count for production webhooks.
The widget should use the production one.
Check the browser console for CORS blocks.
Both trigger and agent on, or both off.
In n8n, open Executions and inspect what actually arrived and what each node returned.
Skip This Class of Problems Entirely
A fair share of these errors comes from wiring a widget to a raw webhook by hand: wrong URLs, missing session IDs, mismatched response fields. The n8nchatui.com widget handles the connection layer for you.
- You debug CORS, session IDs, and response field mapping yourself.
- Streaming detection has to be wired manually.
- The webhook URL is visible in the page source.
- No rate limiting or abuse protection.
- Paste your Chat Trigger URL, and sessions and response parsing are handled for you.
- Streaming is auto-detected, no config mismatch to trip over.
- Managed widgets hide the webhook behind a secure proxy.
- Built-in rate limiting, domain restriction, and geofencing.
Skip this class of errors entirely.
n8nchatui.com handles sessions, response parsing, and streaming detection out of the box. Managed widgets add rate limiting and webhook protection too.
More Articles
n8n Chat Trigger Node: The Complete Guide
Master the n8n Chat Trigger node: every setting explained, response modes, session IDs, file uploads, allowed origins, hosted vs embedded chat, and the Chat response node.
July 13, 2026
@n8n/chat: The Complete Guide to n8n's Chat Widget
Everything you need to work with the @n8n/chat package: every createChat option explained, CSS variables, metadata, React and Next.js setup, and fixes for the most common errors.
July 13, 2026
n8n Chat Streaming: A Complete Setup Guide
Turn slow, wait-and-see AI chatbot responses into a real-time streaming experience. Learn how to set up chat streaming in n8n and connect it to a chat widget on your website.
April 2, 2026
How to Deploy Your n8n Chatbot the Right Way
You've built an n8n workflow. Now you need to put a chat interface in front of it. Here's how to pick the right deployment option for your use case.
June 4, 2026