XBSTACK reproduction asset for n8n issue #36402.
When the HTTP Request node sends a request with Body Content Type = Raw and the response is explicitly configured as JSON, does n8n return parsed JSON or a Node.js stream object?
- Date: 2026-08-18
- Local runtime:
n8n 1.112.4 - Node: HTTP Request V3 (
typeVersion: 4.2) - Endpoint:
https://postman-echo.com/post - Four cases run in the same workflow
Result:
| Case | Parsed response | Stream internals |
|---|---|---|
| Raw body + JSON response | No | Yes: _readableState, _writableState, bytesWritten |
| JSON body + JSON response | Yes | No |
| Raw body + Auto response | Yes | No |
| Raw body + Text response | Text wrapper | No |
The compact machine-readable result is in logs/2026-08-18-n8n-1.112.4.json.
The local machine could not run the complete n8n@2.34.5 CLI because the installed Node.js is 22.18.0, while n8n 2.34.5 declares Node >=22.22. Docker is installed but the local Docker daemon was not running during this test.
Instead of claiming a full 2.34.5 runtime reproduction, the article separately verifies the tagged n8n@2.34.5 source. In HttpRequestV3.node.ts, an explicit Raw body still sets requestOptions.useStream = true. The stream-to-JSON conversion path is guarded by autoDetectResponseFormat, so an explicitly selected JSON response does not enter that auto-detection block.
This supports the same failure mechanism reported in n8n issue #36402, but it is source confirmation, not a 2.34.5 end-to-end runtime test.
Import the workflow:
n8n import:workflow --input=experiments/n8n-http-raw-response-stream/workflow.jsonRun and summarize:
python3 experiments/n8n-http-raw-response-stream/run_control.pyIf the payload is valid JSON, switch Body Content Type from Raw to JSON while keeping Response Format = JSON. In the local control this returns a normal parsed response.
If Raw is required, leaving response format on Auto-detect also returned parsed JSON in the local control because n8n consumed the stream in the content-type detection path.
Do not treat either workaround as an upstream fix. Re-test after n8n ships a change for #36402.
- n8n issue #36402: HTTP Request node with raw body can return an unresolved stream instead of the parsed response.
- Tagged source checked:
n8n@2.34.5,packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts.
Full analysis, source boundary, and production workarounds: