@Gianluca looked at the github issue more carefully — bug is in n8n’s global axios request interceptor for any URL starting with https://api.openai.com/. applyVendorHeaders reassigns config.headers to a plain object that doesn’t have setContentType, so the interceptor crashes downstream. Affects every code path that goes through n8n’s request helper (HTTP Request node, Code node, AI Agent node) regardless of credential type.
n8n team has it tracked as issue #29471, marked “in-linear, team-assigned” so a fix is coming. While you wait:
the langchain OpenAI node (@n8n/n8n-nodes-langchain.openAi) uses a different SDK path and may sidestep the interceptor — worth trying for the operations it covers
if you need the raw vector_stores endpoint, route through a tiny proxy (Cloudflare Worker or any URL that forwards to api.openai.com) so the URL doesn’t trigger the interceptor
confirmed bug — n8ns global axios interceptor blows up on any URL starting with api.openai.com/. applyVendorHeaders rewrites config.headers to a plain object, then a downstream interceptor cant call setContentType on it and dies. affects HTTP Request, Code (helpers.httpRequest), AI Agent — everything that goes through n8ns request helper, cred type doesnt matter since the match is URL-based.