From 77e65c0db5986c559051c1b031a303dfb4829ad1 Mon Sep 17 00:00:00 2001 From: David Pierce Date: Fri, 15 May 2026 17:26:59 +0000 Subject: [PATCH] fix(core): use hasAccessToPreview for auto model resolution and fix disappearing models (#27112) --- packages/core/src/config/config.test.ts | 1 - packages/core/src/config/config.ts | 1 - packages/core/src/config/models.ts | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts index ad5f839515..15eeee82b0 100644 --- a/packages/core/src/config/config.test.ts +++ b/packages/core/src/config/config.test.ts @@ -2019,7 +2019,6 @@ describe('Server Config (config.ts)', () => { expect(configInternal.lastEmittedQuotaRemaining).toBeUndefined(); expect(configInternal.lastEmittedQuotaLimit).toBeUndefined(); expect(configInternal.lastQuotaFetchTime).toBe(0); - expect(configInternal.hasAccessToPreviewModel).toBeNull(); // Event emission expect(emitQuotaSpy).toHaveBeenCalledWith(undefined, undefined, undefined); diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 5f3413b37d..1568207936 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -1833,7 +1833,6 @@ export class Config implements McpContext, AgentLoopContext { this.modelQuotas.clear(); this.lastRetrievedQuota = undefined; this.lastQuotaFetchTime = 0; - this.hasAccessToPreviewModel = null; // Force an event emission to clear the UI display coreEvents.emitQuotaChanged(undefined, undefined, undefined); diff --git a/packages/core/src/config/models.ts b/packages/core/src/config/models.ts index 3d91d45e24..7360878ccd 100644 --- a/packages/core/src/config/models.ts +++ b/packages/core/src/config/models.ts @@ -164,7 +164,7 @@ export function resolveModel( switch (normalizedModel) { case GEMINI_MODEL_ALIAS_AUTO: case GEMINI_MODEL_ALIAS_PRO: { - if (currentReleaseChannel === 'stable') { + if (!hasAccessToPreview) { resolved = DEFAULT_GEMINI_MODEL; break; }