From b489664af2ebd8ac45bbaf4504bfc5cb4510eda2 Mon Sep 17 00:00:00 2001 From: paoloanzn Date: Wed, 1 Apr 2026 15:55:18 +0200 Subject: [PATCH] fix: remove duplicate isCodexSubscriber causing provider lock-in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Codex PR introduced a second isCodexSubscriber() definition that silently overwrote the first. The replacement only checked for token existence, ignoring the active provider — so once a user authenticated with Codex, all requests were permanently routed to the Codex endpoint regardless of model selection. Merged both functions into one that requires the provider to be explicitly set to 'openai' before returning true. Co-Authored-By: Claude Opus 4.6 --- src/utils/auth.ts | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 243ad36..50f7ac6 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1627,26 +1627,12 @@ export function isClaudeAISubscriber(): boolean { } export function isCodexSubscriber(): boolean { - // Check if we're using OpenAI API via environment variable - if (getAPIProvider() === 'openai') { - return true + // Only treat as Codex subscriber when explicitly using OpenAI provider + if (getAPIProvider() !== 'openai') { + return false } - // Check if we have OpenAI OAuth tokens - const config = getGlobalConfig() - const openaiTokens = config?.openaiOauthTokens - if (openaiTokens?.access_token && openaiTokens?.scopes?.includes('codex')) { - return true - } - - return false -} - -/** - * Check if the user is authenticated via OpenAI Codex OAuth. - * Returns true when a valid Codex access token is present in the config. - */ -export function isCodexSubscriber(): boolean { + // Verify we actually have valid Codex tokens const tokens = getCodexOAuthTokens() return !!tokens?.accessToken }