Thanks for clarifying — and yes, this is a real limitation rather than a misunderstanding on your side.
When the HTTP Request node is used as a tool inside an AI Agent, it’s not executed with the full workflow item. Instead, the agent invokes tools via a JSON-only argument payload, which means the tool has no access to upstream binary data. As a result, there’s currently no supported way for an agent to pass a binary file into the HTTP tool, even though the HTTP Request node itself supports binary payloads when used normally in a workflow.
This mismatch between capability and actual behavior is confusing, and you’re definitely not the only one to run into it. There are several community threads describing the same limitation:
-
Passing binary file directly to an HTTP request tool in AI Agent
http://community.n8n.io/t/passing-binary-file-directly-to-an-http-request-tool-in-ai-agent/91910
(User attempts to pass a CSV binary into the HTTP tool via an agent — not possible.) -
AI Agent cannot pass the binary file to the tool
http://community.n8n.io/t/ai-agent-cannot-pass-the-binary-file-to-the-tool/158049
(Confirms that agent tools expect JSON only and binary is not forwarded.) -
Using binaries with AI Agents
http://community.n8n.io/t/using-binaries-with-ai-agents/53128
(Earlier discussion highlighting the same boundary between agents and binary data.)
So to answer the two core questions directly:
-
Is this a limitation of n8n?
Yes — specifically of the current agent → tool contract, which is JSON/text-only. -
Is it worth a feature request?
I’d say yes. The UI implies that tools like HTTP Request can accept binary input, but there’s no mechanism for an agent to supply that binary today, which is misleading.
In practice, most people work around this by:
-
Storing the file somewhere and passing a reference (URL/path/id) through the agent, or
-
Keeping the agent purely decision-making and performing the actual binary HTTP request outside the agent with a normal HTTP Request node.
Bottom line: you’re not missing a configuration — binary data simply doesn’t cross the agent → tool boundary at the moment.