From 5ed393ab31344013d976503f1e1a1cbc0bcfd502 Mon Sep 17 00:00:00 2001 From: xiatg Date: Thu, 28 May 2026 15:45:55 -0400 Subject: [PATCH] fix: read model provider from config on session resume Use getCurrentModelProvider() in getResumeModelProvider() so that resumed sessions read model_provider from the config as a fallback, instead of only checking the environment variable. --- src/CodexAcpClient.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/CodexAcpClient.ts b/src/CodexAcpClient.ts index 22cde0da..e0ca712d 100644 --- a/src/CodexAcpClient.ts +++ b/src/CodexAcpClient.ts @@ -205,7 +205,7 @@ export class CodexAcpClient { const response = await this.codexClient.threadResume({ config: await this.createSessionConfig(request.cwd, request.mcpServers ?? []), cwd: request.cwd, - modelProvider: this.getResumeModelProvider(), + modelProvider: await this.getResumeModelProvider(), threadId: request.sessionId, }); const codexModels = await this.fetchAvailableModels(); @@ -222,7 +222,7 @@ export class CodexAcpClient { const response = await this.codexClient.threadResume({ config: await this.createSessionConfig(request.cwd, request.mcpServers ?? []), cwd: request.cwd, - modelProvider: this.getResumeModelProvider(), + modelProvider: await this.getResumeModelProvider(), threadId: request.sessionId, }); const codexModels = await this.fetchAvailableModels(); @@ -306,10 +306,10 @@ export class CodexAcpClient { return this.gatewayConfig?.modelProvider ?? this.modelProvider; } - private getResumeModelProvider(): string { + private async getResumeModelProvider(): Promise { // Passing `null` forces codex to use the persisted provider for resumed session instead of default one // Explicit fallback to "openai" fixes error `Model provider not found` at least for ChatGPT authentication - return this.getModelProvider() ?? "openai"; + return await this.getCurrentModelProvider() ?? "openai"; } private async refreshSkills(cwd: string, meta?: Record | null): Promise {