diff --git a/apps/open-swe/src/graphs/planner/nodes/generate-plan/index.ts b/apps/open-swe/src/graphs/planner/nodes/generate-plan/index.ts index d0d00332..8a9263b1 100644 --- a/apps/open-swe/src/graphs/planner/nodes/generate-plan/index.ts +++ b/apps/open-swe/src/graphs/planner/nodes/generate-plan/index.ts @@ -102,6 +102,22 @@ export async function generatePlan( ...inputMessages, ]); + // Filter out empty plans + response.tool_calls = response.tool_calls?.map((tc) => { + if (tc.id === sessionPlanTool.name) { + return { + ...tc, + args: { + ...tc.args, + plan: (tc.args as z.infer).plan.filter( + (p) => p.length > 0, + ), + }, + }; + } + return tc; + }); + const toolCall = response.tool_calls?.[0]; if (!toolCall) { throw new Error("Failed to generate plan");