From 99d7308636fe1a7be1ec54e77877e41a9b436dc5 Mon Sep 17 00:00:00 2001 From: daniel-lxs Date: Thu, 8 Jan 2026 17:03:56 -0500 Subject: [PATCH] fix: disable Gemini thought signature persistence to prevent corrupted signature errors Gemini thought signatures are session-specific cryptographic tokens that cannot be reliably reused across API calls or after task resumption from history. When stale signatures were passed back to the Gemini API during task resumption, it rejected them with 'Corrupted thought signature' (HTTP 400 INVALID_ARGUMENT). This change modifies GeminiHandler.getThoughtSignature() to return undefined, preventing stale signatures from being stored in conversation history. Fixes: ROO-422 --- src/api/providers/gemini.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/api/providers/gemini.ts b/src/api/providers/gemini.ts index 4402e3e0177..1da8273a142 100644 --- a/src/api/providers/gemini.ts +++ b/src/api/providers/gemini.ts @@ -456,7 +456,10 @@ export class GeminiHandler extends BaseProvider implements SingleCompletionHandl } public getThoughtSignature(): string | undefined { - return this.lastThoughtSignature + // Disabled to prevent "Corrupted thought signature" errors on task resumption. + // Gemini thought signatures are session-specific and cannot be reliably reused + // across API calls or after task resumption from history. + return undefined } public getResponseId(): string | undefined {