n8n-io/n8n · error · NodeOperationError
Could not configure Limit Wait Time
Error message
Could not configure Limit Wait Time
What it means
configureWaitTillDate wraps ANY error thrown while computing the wait-until date in a NodeOperationError('Could not configure Limit Wait Time') with the inner cause as description. This is the error users actually see (it catches error 766 among others). It signals the Limit Wait Time options block is malformed or unparseable.
Source
Thrown at packages/@n8n/nodes-langchain/nodes/trigger/ChatTrigger/util.ts:55
}
if (limitOptions.resumeUnit === 'hours') {
waitAmount *= 60 * 60;
}
if (limitOptions.resumeUnit === 'days') {
waitAmount *= 60 * 60 * 24;
}
waitAmount *= 1000;
waitTill = new Date(new Date().getTime() + waitAmount);
} else {
waitTill = new Date(limitOptions.maxDateAndTime as string);
}
if (isNaN(waitTill.getTime())) {
throw new UserError('Invalid date format');
}
} catch (error) {
throw new NodeOperationError(context.getNode(), 'Could not configure Limit Wait Time', {
description: error.message,
});
}
}
return waitTill;
}
export const configureInputs = (parameters: { options?: { memoryConnection?: boolean } }) => {
const inputs = [
{
type: 'main',
},
];
if (parameters.options?.memoryConnection) {
return [
...inputs,
{View on GitHub (pinned to 5ac6606e81)
Solutions
- Read the error's 'description' field — it carries the inner cause (e.g. 'Invalid date format').
- Re-open the Limit Wait Time options and re-enter amount/unit or a valid date/time.
- Disable Limit Wait Time if not needed, or switch to afterTimeInterval with a numeric resumeAmount.
Example fix
// before: resumeAmount = '' (non-numeric) // after: resumeAmount = 5, resumeUnit = 'minutes'
Defensive patterns
Strategy: try-catch
Validate before calling
// Pre-validate the limitOptions shape before calling configureWaitTillDate.
if (limitOptions.limitType !== 'afterTimeInterval' && !isParsableDate(limitOptions.maxDateAndTime)) {
throw new Error('Limit Wait Time: provide a valid maxDateAndTime or switch to afterTimeInterval.');
} Try / catch
try {
waitTill = configureWaitTillDate(context);
} catch (e) {
// e is NodeOperationError; read e.description for the inner cause (e.g. 'Invalid date format')
} Prevention
- Treat the wrapped NodeOperationError's description as the authoritative root cause.
- Unit-test configureWaitTillDate with both branches and malformed inputs.
When it happens
Trigger: Any exception inside the try block of configureWaitTillDate: an Invalid Date (error 766), or arithmetic on a non-numeric resumeAmount producing NaN that propagates into new Date().
Common situations: Corrupted/empty limitWaitTime options object after a workflow import; resumeAmount expression resolving to undefined/non-number with limitType 'afterTimeInterval'; a node-version migration that left the options block in a bad shape.
Related errors
- Invalid date format
- Invalid loadPreviousSession option: ${value}
- Model ID is required
- Invalid delegate sub-agent tool name "${name}": must start w
- ${toolName} requires resumeSubAgent and cancelSubAgent to be
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/96bcfc398cd1ee32.
Report an issue: GitHub.