diff --git a/src/main/model-discovery.ts b/src/main/model-discovery.ts index b1f2d20ef..b0c50bf6b 100644 --- a/src/main/model-discovery.ts +++ b/src/main/model-discovery.ts @@ -86,7 +86,7 @@ const OAUTH_PROVIDER_CURATED: Record = { "gemini-3-pro-preview", "gemini-3-flash-preview", ], - "minimax-oauth": ["MiniMax-M2.7", "MiniMax-M2.7-highspeed"], + "minimax-oauth": ["MiniMax-M3", "MiniMax-M2.7", "MiniMax-M2.7-highspeed"], "qwen-oauth": [], }; diff --git a/tests/oauth-model-discovery.test.ts b/tests/oauth-model-discovery.test.ts index 830c3fdc7..099640823 100644 --- a/tests/oauth-model-discovery.test.ts +++ b/tests/oauth-model-discovery.test.ts @@ -117,6 +117,19 @@ describe("OAuth provider model discovery", () => { expect(result.models).toContain("gemini-3-pro-preview"); }); + it("includes the current MiniMax models when the Python call fails", async () => { + behavior.err = new Error("python: command not found"); + const result = await discoverProviderModels( + "minimax-oauth", + undefined, + undefined, + undefined, + ); + expect(result.status).toBe("ok"); + expect(result.models).toContain("MiniMax-M3"); + expect(result.models).toContain("MiniMax-M2.7"); + }); + it("caches the result so a second call skips the Python spawn", async () => { behavior.stdout = '["gpt-5.5"]'; const first = await discoverProviderModels(