From 34855bc647b7f9c1333c8bf4df6a24a8febecc44 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Mon, 1 Sep 2025 21:37:03 +0800 Subject: [PATCH] **Fix model switch logic when quota is exceeded** Ensure `modelName` is updated after switching to a new model, avoiding inconsistencies in subsequent iterations. --- internal/client/gemini-cli_client.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/client/gemini-cli_client.go b/internal/client/gemini-cli_client.go index aa3365c3..d8180126 100644 --- a/internal/client/gemini-cli_client.go +++ b/internal/client/gemini-cli_client.go @@ -484,6 +484,7 @@ func (c *GeminiCLIClient) SendRawMessage(ctx context.Context, modelName string, if newModelName != "" { log.Debugf("Model %s is quota exceeded. Switch to preview model %s", modelName, newModelName) rawJSON, _ = sjson.SetBytes(rawJSON, "model", newModelName) + modelName = newModelName continue } } @@ -563,6 +564,7 @@ func (c *GeminiCLIClient) SendRawMessageStream(ctx context.Context, modelName st if newModelName != "" { log.Debugf("Model %s is quota exceeded. Switch to preview model %s", modelName, newModelName) rawJSON, _ = sjson.SetBytes(rawJSON, "model", newModelName) + modelName = newModelName continue } }