diff --git a/src/services/api/client.ts b/src/services/api/client.ts index 0d437105..b26e8b3f 100644 --- a/src/services/api/client.ts +++ b/src/services/api/client.ts @@ -27,6 +27,7 @@ import { OPENAI_OAUTH_DUMMY_KEY, shouldUseOpenAICodexAuth, } from '../openaiAuth/fetch.js' +import { isOpenAIResponsesModel } from '../openaiAuth/models.js' import { isDebugToStdErr, logForDebugging } from '../../utils/debug.js' import { getAWSRegion, @@ -137,11 +138,13 @@ export async function getAnthropicClient({ await checkAndRefreshOAuthTokenIfNeeded() logForDebugging('[API:auth] OAuth token check complete') + const isOpenAIModel = model ? isOpenAIResponsesModel(model) : false const usingOpenAICodex = shouldUseOpenAICodexAuth() && !isClaudeAISubscriber() && - !process.env.ANTHROPIC_AUTH_TOKEN && - !(apiKey || getAnthropicApiKey()) + (isOpenAIModel || + (!process.env.ANTHROPIC_AUTH_TOKEN && + !(apiKey || getAnthropicApiKey()))) if (!isClaudeAISubscriber() && !usingOpenAICodex) { await configureApiKeyHeaders(defaultHeaders, getIsNonInteractiveSession()) diff --git a/src/services/openaiAuth/models.ts b/src/services/openaiAuth/models.ts index ca34e252..8eb0b4cb 100644 --- a/src/services/openaiAuth/models.ts +++ b/src/services/openaiAuth/models.ts @@ -22,6 +22,12 @@ export const OPENAI_CODEX_MODEL_CATALOG: OpenAIModelCatalogEntry[] = [ description: 'Strong general-purpose model', descriptionForModel: 'GPT-5.4 - strong general-purpose model', }, + { + value: 'gpt-5.5', + label: 'GPT-5.5', + description: 'Latest general-purpose model', + descriptionForModel: 'GPT-5.5 - latest general-purpose model', + }, { value: OPENAI_DEFAULT_HAIKU_MODEL, label: 'GPT-5.4 Mini', @@ -72,6 +78,8 @@ export function getOpenAIModelDisplayName(model: string): string | null { switch (model.trim().toLowerCase()) { case 'gpt-5.3-codex': return 'GPT-5.3 Codex' + case 'gpt-5.5': + return 'GPT-5.5' case 'gpt-5.4': return 'GPT-5.4' case 'gpt-5.4-mini':