diff --git a/packages/provider-bridge-acp/src/bridge/bridge.test.ts b/packages/provider-bridge-acp/src/bridge/bridge.test.ts index bf3a7ff86..a1e4868ae 100644 --- a/packages/provider-bridge-acp/src/bridge/bridge.test.ts +++ b/packages/provider-bridge-acp/src/bridge/bridge.test.ts @@ -1271,21 +1271,26 @@ describe("acp bridge", () => { expect(agentMessageTexts()).toContain("selected-model:fake/strong"); }); - it("falls back to session/set_model when the model config option errors", async () => { - const { providerThreadId } = await startThread({ - envVars: { - FAKE_ACP_MODEL_CONFIG: "1", - FAKE_ACP_SET_CONFIG_MODEL_ERROR: "1", - }, - model: "fake/strong", - }); - - sendTurnRequest("turn/start", providerThreadId, { - input: [{ type: "text", text: "echo-selected-model", mentions: [] }], - }); - await waitForTurnCompleted(); + it("preserves model config errors without using session/set_model", async () => { + const requestLog = join(workspaceDir, "model-config-error-requests.jsonl"); + let startError: Error | undefined; + try { + await startThread({ + envVars: { + FAKE_ACP_MODEL_CONFIG: "1", + FAKE_ACP_REQUEST_LOG: requestLog, + FAKE_ACP_SET_CONFIG_MODEL_ERROR: "1", + }, + model: "fake/strong", + }); + } catch (error) { + startError = error instanceof Error ? error : new Error(String(error)); + } - expect(agentMessageTexts()).toContain("selected-model:fake/strong"); + expect.soft(startError?.message ?? "").toContain("model config probe failed"); + expect( + loggedAcpRequests(requestLog).map((request) => request.method), + ).not.toContain("session/set_model"); }); it("selects ACP-native models from session models state", async () => {