{"record":{"id":"0ccf71cfe0fec760","repo":"n8n-io/n8n","slug":"planner-produced-invalid-output-after-max-planne","errorCode":null,"errorMessage":"Planner produced invalid output after ${MAX_PLANNER_RETRIES + 1} attempts: ${lastError}","messagePattern":"Planner produced invalid output after (.+?) attempts: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/@n8n/ai-workflow-builder.ee/src/agents/planner.agent.ts","lineNumber":175,"sourceCode":"\t\t\t\t? [contextMessage]\n\t\t\t\t: [\n\t\t\t\t\t\tcontextMessage,\n\t\t\t\t\t\tnew HumanMessage(\n\t\t\t\t\t\t\t`Your previous output was invalid: ${lastError}. Please output a valid JSON plan with summary, trigger, and steps fields.`,\n\t\t\t\t\t\t),\n\t\t\t\t\t];\n\n\t\tconst output = await agent.invoke({ messages }, config);\n\t\tconst parsedPlan = plannerOutputSchema.safeParse(output.structuredResponse);\n\t\tif (parsedPlan.success) {\n\t\t\tplan = parsedPlan.data;\n\t\t\tbreak;\n\t\t}\n\t\tlastError = parsedPlan.error.message;\n\t}\n\n\tif (!plan) {\n\t\tthrow new Error(\n\t\t\t`Planner produced invalid output after ${MAX_PLANNER_RETRIES + 1} attempts: ${lastError}`,\n\t\t);\n\t}\n\tconst decisionValue: unknown = interrupt({ type: 'plan', plan });\n\tconst decision = parsePlanDecision(decisionValue);\n\n\tif (decision.action === 'approve') {\n\t\treturn {\n\t\t\tplanDecision: 'approve',\n\t\t\tplanOutput: plan,\n\t\t\tmode: 'build',\n\t\t\tplanFeedback: null,\n\t\t\tplanPrevious: null,\n\t\t};\n\t}\n\n\tif (decision.action === 'reject') {\n\t\treturn {","sourceCodeStart":157,"sourceCodeEnd":193,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/ai-workflow-builder.ee/src/agents/planner.agent.ts#L157-L193","documentation":"Error \"Planner produced invalid output after ${MAX_PLANNER_RETRIES + 1} attempts: ${lastError}\" thrown in n8n-io/n8n.","triggerScenarios":"Thrown at packages/@n8n/ai-workflow-builder.ee/src/agents/planner.agent.ts:175 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}