{"record":{"id":"7282dbb35b253f3a","repo":"n8n-io/n8n","slug":"response-mode-in-the-chat-trigger-node-must-be-s","errorCode":null,"errorMessage":"\"Response Mode\" in the chat trigger node must be set to \"Using Response Nodes\"","messagePattern":"\"Response Mode\" in the chat trigger node must be set to \"Using Response Nodes\"","errorType":"exception","errorClass":"NodeOperationError","httpStatus":null,"severity":"error","filePath":"packages/@n8n/nodes-langchain/nodes/trigger/ChatTrigger/Chat.node.ts","lineNumber":366,"sourceCode":"\t\t\t\tthis.getNode(),\n\t\t\t\t'Workflow must be started from a chat trigger node',\n\t\t\t);\n\t\t}\n\n\t\tconst parameters = chatTrigger.parameters as {\n\t\t\tmode?: 'hostedChat' | 'webhook';\n\t\t\toptions: { responseMode: 'lastNode' | 'responseNodes' | 'streaming' | 'responseNode' };\n\t\t};\n\n\t\tif (parameters.mode === 'webhook') {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tthis.getNode(),\n\t\t\t\t'\"Embedded chat\" is not supported, change the \"Mode\" in the chat trigger node to the \"Hosted Chat\"',\n\t\t\t);\n\t\t}\n\n\t\tif (parameters.options.responseMode !== 'responseNodes') {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tthis.getNode(),\n\t\t\t\t'\"Response Mode\" in the chat trigger node must be set to \"Using Response Nodes\"',\n\t\t\t);\n\t\t}\n\n\t\tconst message = getChatMessage(this);\n\t\tconst options = this.getNodeParameter('options', 0, {}) as {\n\t\t\tmemoryConnection?: boolean;\n\t\t};\n\n\t\tif (this.getNodeParameter('options.autoSaveHighlightedData', 0, true) !== false) {\n\t\t\tconst responseText = typeof message === 'string' ? message : message.text;\n\t\t\tthis.customData.set(getHighlightedResponseKey(this.getNode().name), responseText);\n\t\t}\n\n\t\tif (options.memoryConnection) {\n\t\t\tconst memory = (await this.getInputConnectionData(NodeConnectionTypes.AiMemory, 0)) as\n\t\t\t\t| BaseChatMemory","sourceCodeStart":348,"sourceCodeEnd":384,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/nodes-langchain/nodes/trigger/ChatTrigger/Chat.node.ts#L348-L384","documentation":"Thrown by the chat response node when the Chat Trigger's options.responseMode is anything other than 'responseNodes' (e.g. 'lastNode', 'streaming', 'responseNode'). The response-node execution model requires the trigger to wait for response nodes specifically.","triggerScenarios":"Chat Trigger 'Response Mode' is set to 'When Last Node Finishes' (lastNode), 'Using Chat Trigger Node' (responseNode), or 'Streaming', while the workflow contains a node that only functions under the 'Using Response Nodes' mode.","commonSituations":"Default Response Mode left on 'lastNode'; switching a flow from one response strategy to another without updating the trigger; mixing response strategies across branches.","solutions":["Open the Chat Trigger node → Options → set 'Response Mode' to 'Using Response Nodes'.","Re-test the workflow from the chat trigger after the change.","If a different response mode is intentional, remove or replace the node that requires responseNodes mode."],"exampleFix":"// before: Chat Trigger → Options → Response Mode = 'When Last Node Finishes'\n// after: Chat Trigger → Options → Response Mode = 'Using Response Nodes'","handlingStrategy":"validation","validationCode":"if (chatTrigger.parameters.options?.responseMode !== 'responseNodes') {\n  throw new Error('Set Chat Trigger Response Mode to \"Using Response Nodes\"');\n}","typeGuard":"function usesResponseNodes(params: { options?: { responseMode?: string } }): boolean {\n  return params.options?.responseMode === 'responseNodes';\n}","tryCatchPattern":null,"preventionTips":["Set Response Mode to 'Using Response Nodes' whenever response nodes are used.","Re-check the trigger setting after copying a flow.","Align all branches on a single response strategy."],"tags":["chat-trigger","configuration","response-mode"],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}