Bug Description
Consider the following test workflow where the webhook is configured to respond using 'Respond to Webhook' Node:

According to the doc here:
The workflow errors before the first Respond to Webhook node executes: the workflow returns an error message with a 500 status.
So, when executing the workflow via the webhook, and the workflow failing at the Debug node, the workflow should respond an error message with a 500 status. But instead, the webhook returns a 200 OK when an empty body.
To Reproduce
Build a similar workflow, and call the associated webhook url.
The webhook responds an empty message with 200 status code
{
"name": "test_webhook",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "1fcc15ad-868f-47b8-86dd-ecbbbda6dfe8",
"authentication": "headerAuth",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
0,
0
],
"id": "5755594d-539e-45e1-ac06-089654fb81f6",
"name": "Webhook",
"webhookId": "1fcc15ad-868f-47b8-86dd-ecbbbda6dfe8",
"credentials": {
"httpHeaderAuth": {
"id": "n8n_webhook_bearer_auth",
"name": "n8n_webhook_bearer_auth"
}
}
},
{
"parameters": {
"amount": 3
},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
224,
0
],
"id": "4f1a51de-3317-41bd-b9b6-477f27eab4c4",
"name": "Wait",
"webhookId": "e4e7170d-31fd-4dc3-8ade-f9e410f1e75d"
},
{
"parameters": {},
"type": "n8n-nodes-base.debugHelper",
"typeVersion": 1,
"position": [
464,
0
],
"id": "f0db3f7e-a567-4308-9d32-200d8b4b15dc",
"name": "DebugHelper",
"alwaysOutputData": false
},
{
"parameters": {
"respondWith": "json",
"responseBody": "{\n \"statusCode\": 200,\n \"body\": { \"status\": \"ok\" }\n}",
"options": {
"responseCode": 200
}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.4,
"position": [
704,
0
],
"id": "0a9336d6-d70f-41bb-aefb-7d5a1ce18c71",
"name": "Respond to Webhook"
}
],
"pinData": {},
"connections": {
"Webhook": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "DebugHelper",
"type": "main",
"index": 0
}
]
]
},
"DebugHelper": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
],
[]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false
},
"versionId": "6228ce12-9f57-41f7-a5eb-524457d19cea",
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "997b06b96c0f4f8fb033a6ba85f16f24d5448cd1de2de0d24ca01140698467f6"
},
"id": "NcdWdq6Ku3MDydZa",
"tags": []
}
Expected behavior
the webhook should respond an error message with a 500 status code
Debug Info
Debug info
core
- n8nVersion: 1.119.0
- platform: docker (self-hosted)
- nodeJsVersion: 22.21.0
- nodeEnv: production
- database: postgres
- executionMode: regular
- concurrency: -1
- license: enterprise (production)
- consumerId: d1a0d430-fc98-426b-a0e3-bc299f9f2cb4
storage
- success: all
- error: all
- progress: false
- manual: true
- binaryMode: memory
pruning
- enabled: true
- maxAge: 336 hours
- maxCount: 10000 executions
client
- userAgent: mozilla/5.0 (macintosh; intel mac os x 10_15_7) applewebkit/537.36 (khtml, like gecko) chrome/141.0.0.0 safari/537.36
- isTouchDevice: false
security
Generated at: 2025-11-13T15:02:59.906Z
Operating System
Official Docker image running on Amazon Linux 2023
n8n Version
1.119.0
Node.js Version
22.21.0
Database
PostgreSQL
Execution mode
main (default)
Hosting
self hosted
Bug Description
Consider the following test workflow where the webhook is configured to respond using 'Respond to Webhook' Node:

According to the doc here:
So, when executing the workflow via the webhook, and the workflow failing at the Debug node, the workflow should respond an error message with a 500 status. But instead, the webhook returns a 200 OK when an empty body.
To Reproduce
Build a similar workflow, and call the associated webhook url.
The webhook responds an empty message with 200 status code
{ "name": "test_webhook", "nodes": [ { "parameters": { "httpMethod": "POST", "path": "1fcc15ad-868f-47b8-86dd-ecbbbda6dfe8", "authentication": "headerAuth", "responseMode": "responseNode", "options": {} }, "type": "n8n-nodes-base.webhook", "typeVersion": 2.1, "position": [ 0, 0 ], "id": "5755594d-539e-45e1-ac06-089654fb81f6", "name": "Webhook", "webhookId": "1fcc15ad-868f-47b8-86dd-ecbbbda6dfe8", "credentials": { "httpHeaderAuth": { "id": "n8n_webhook_bearer_auth", "name": "n8n_webhook_bearer_auth" } } }, { "parameters": { "amount": 3 }, "type": "n8n-nodes-base.wait", "typeVersion": 1.1, "position": [ 224, 0 ], "id": "4f1a51de-3317-41bd-b9b6-477f27eab4c4", "name": "Wait", "webhookId": "e4e7170d-31fd-4dc3-8ade-f9e410f1e75d" }, { "parameters": {}, "type": "n8n-nodes-base.debugHelper", "typeVersion": 1, "position": [ 464, 0 ], "id": "f0db3f7e-a567-4308-9d32-200d8b4b15dc", "name": "DebugHelper", "alwaysOutputData": false }, { "parameters": { "respondWith": "json", "responseBody": "{\n \"statusCode\": 200,\n \"body\": { \"status\": \"ok\" }\n}", "options": { "responseCode": 200 } }, "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [ 704, 0 ], "id": "0a9336d6-d70f-41bb-aefb-7d5a1ce18c71", "name": "Respond to Webhook" } ], "pinData": {}, "connections": { "Webhook": { "main": [ [ { "node": "Wait", "type": "main", "index": 0 } ] ] }, "Wait": { "main": [ [ { "node": "DebugHelper", "type": "main", "index": 0 } ] ] }, "DebugHelper": { "main": [ [ { "node": "Respond to Webhook", "type": "main", "index": 0 } ], [] ] } }, "active": true, "settings": { "executionOrder": "v1", "callerPolicy": "workflowsFromSameOwner", "availableInMCP": false }, "versionId": "6228ce12-9f57-41f7-a5eb-524457d19cea", "meta": { "templateCredsSetupCompleted": true, "instanceId": "997b06b96c0f4f8fb033a6ba85f16f24d5448cd1de2de0d24ca01140698467f6" }, "id": "NcdWdq6Ku3MDydZa", "tags": [] }Expected behavior
the webhook should respond an error message with a 500 status code
Debug Info
Debug info
core
storage
pruning
client
security
Generated at: 2025-11-13T15:02:59.906Z
Operating System
Official Docker image running on Amazon Linux 2023
n8n Version
1.119.0
Node.js Version
22.21.0
Database
PostgreSQL
Execution mode
main (default)
Hosting
self hosted