n8n-io/n8n · error · NodeOperationError
Misconfigured placeholder
Error message
Misconfigured placeholder '${placeholder.name}' What it means
Consistency check between the tool's parameter list and its placeholder definitions: a placeholder definition has no matching parameter that the model could fill at call time, so the definition is dead/misconfigured and the request built from it would be incomplete.
Solutions
- Add a tool parameter with the same name as the placeholder
- Or remove the orphaned placeholder definition
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/@n8n/nodes-langchain/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.ts:387 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/3bb39581b738fb29.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/nodes-langchain/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.ts:387
if (sendBody) {
updateParametersAndOptions({
ctx: this,
itemIndex,
toolParameters,
placeholdersDefinitions,
requestOptions,
rawRequestOptions,
requestOptionsProperty: 'body',
inputTypePropertyName: 'specifyBody',
jsonPropertyName: 'jsonBody',
parametersPropertyName: 'parametersBody.values',
});
}
for (const placeholder of placeholdersDefinitions) {
if (!toolParameters.find((parameter) => parameter.name === placeholder.name)) {
throw new NodeOperationError(
this.getNode(),
`Misconfigured placeholder '${placeholder.name}'`,
{
itemIndex,
description:
"This placeholder is defined in the 'Placeholder Definitions' but isn't used anywhere. Either remove the definition, or add the placeholder to a part of the request.",
},
);
}
}
const func = configureToolFunction(
this,
itemIndex,
toolParameters,
requestOptions,
rawRequestOptions,
httpRequest,View on GitHub (pinned to 5ac6606e81)