n8n-io/n8n · error · NodeOperationError

This model is not supported in ${version} version of the Age

Error message

This model is not supported in ${version} version of the Agent node. Please upgrade the Agent node to the latest version.

What it means

Thrown by Tools Agent V2 when the connected primary model uses OpenAI's Responses API. As noted in the FIXME comment, LangChain.js default call handling is broken for Responses API + tools (tracked in langchain-ai/langchainjs#9082). V3 uses a different call path and works correctly.

Source

Thrown at packages/@n8n/nodes-langchain/nodes/agents/Agent/agents/ToolsAgent/V2/execute.ts:280

		const returnData: INodeExecutionData[] = [];
		const items = this.getInputData();
		totalItems = items.length;
		const batchSize = this.getNodeParameter('options.batching.batchSize', 0, 1) as number;
		const delayBetweenBatches = this.getNodeParameter(
			'options.batching.delayBetweenBatches',
			0,
			0,
		) as number;
		const needsFallback = this.getNodeParameter('needsFallback', 0, false) as boolean;
		const memory = await getOptionalMemory(this);
		const model = await getChatModel(this, 0);
		assert(model, 'Please connect a model to the Chat Model input');
		const fallbackModel = needsFallback ? await getChatModel(this, 1) : null;

		// FIXME: remove when this is fixed: https://github.com/langchain-ai/langchainjs/pull/9082
		// Responses API + tools is broken when using langchain default call handling. In V3 calls are handled differently, so it works.
		if (checkIsResponsesApi(model)) {
			throw new NodeOperationError(
				this.getNode(),
				`This model is not supported in ${version} version of the Agent node. Please upgrade the Agent node to the latest version.`,
			);
		}

		if (checkIsResponsesApi(fallbackModel)) {
			throw new NodeOperationError(
				this.getNode(),
				`This fallback model is not supported in ${version} version of the Agent node. Please upgrade the Agent node to the latest version.`,
			);
		}

		if (needsFallback && !fallbackModel) {
			throw new NodeOperationError(
				this.getNode(),
				'Please connect a model to the Fallback Model input or disable the fallback option',
			);
		}

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Upgrade the Agent node from V2 to V3 (the V3 call path supports Responses API).
  2. Or switch the model connection to a non-Responses-API model variant (e.g. classic Chat Completions).
  3. If you cannot upgrade, disable tools or use a different agent type.

Example fix

// before — Agent node typeVersion 2 with a Responses-API model
// (throws on execution)

// after — bump the Agent node typeVersion to 3 in the workflow JSON
{
  "type": "@n8n/n8n-nodes-langchain.agent",
  "typeVersion": 3
}
Defensive patterns

Strategy: validation

Validate before calling

// Pre-flight: detect Responses-API models before running the agent
import { checkIsResponsesApi } from '@n8n/nodes-langchain';
const model = await getChatModel(this, 0);
if (model && checkIsResponsesApi(model)) {
  throw new NodeOperationError(this.getNode(), 'Upgrade this Agent node to V3 to use a Responses-API model.');
}

Type guard

function isResponsesApiModel(model: unknown): boolean {
  return checkIsResponsesApi(model as BaseChatModel);
}

Prevention

When it happens

Trigger: Tools Agent V2 connected to a model whose connector selects the Responses API (newer OpenAI chat models with bindTools) — checkIsResponsesApi returns true.

Common situations: User upgraded the OpenAI model node or credentials to use Responses API but the Agent node is still on V2; new workflow created with defaults that point to a Responses-API model.

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/ecceca9bbbedbde4. Report an issue: GitHub.