From 927f0e52b6b76598f068f3cba53592f44a0c9a9e Mon Sep 17 00:00:00 2001 From: Roo Code Date: Mon, 8 Dec 2025 13:12:13 +0000 Subject: [PATCH] fix: disable reasoning for Gemini/Vertex during context condensing - Prevents API errors when using Gemini Flash with reasoning enabled - Reasoning blocks interfere with condensing prompt structure - Fixes issue #9867 --- src/core/task/Task.ts | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index d084bf4b924..29f1f65241f 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -1314,7 +1314,17 @@ export class Task extends EventEmitter implements TaskLike { }) // Ensure profile and apiProvider exist before trying to build handler if (profile && profile.apiProvider) { - condensingApiHandler = buildApiHandler(profile) + // For Gemini providers, disable reasoning features during condensing to prevent API errors + // Reasoning blocks can interfere with the condensing prompt structure + if (profile.apiProvider === "gemini" || profile.apiProvider === "vertex") { + condensingApiHandler = buildApiHandler({ + ...profile, + enableReasoningEffort: false, + modelMaxThinkingTokens: undefined, + }) + } else { + condensingApiHandler = buildApiHandler(profile) + } } } } @@ -3460,7 +3470,17 @@ export class Task extends EventEmitter implements TaskLike { // Ensure profile and apiProvider exist before trying to build handler. if (profile && profile.apiProvider) { - condensingApiHandler = buildApiHandler(profile) + // For Gemini providers, disable reasoning features during condensing to prevent API errors + // Reasoning blocks can interfere with the condensing prompt structure + if (profile.apiProvider === "gemini" || profile.apiProvider === "vertex") { + condensingApiHandler = buildApiHandler({ + ...profile, + enableReasoningEffort: false, + modelMaxThinkingTokens: undefined, + }) + } else { + condensingApiHandler = buildApiHandler(profile) + } } } }