From 2d167a0233252ddf104a2be932573cc9cdec6471 Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Thu, 3 Sep 2026 14:55:24 +0200 Subject: [PATCH] fix: pass excludeTurns to the file-change report fork Codex 0.152.0 defaults durable threads to paginated history. The app-server rejects an ephemeral fork of a paginated thread unless the fork sets excludeTurns: true. The file-change report fork did not set it, so every report failed with providerError and AIR showed no changed-files card. The report never reads the forked turns, so the flag is safe. --- src/CodexAcpClient.ts | 1 + src/__tests__/CodexACPAgent/agent-file-change-report.test.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/CodexAcpClient.ts b/src/CodexAcpClient.ts index a5590ce7..8ab66bc5 100644 --- a/src/CodexAcpClient.ts +++ b/src/CodexAcpClient.ts @@ -929,6 +929,7 @@ export class CodexAcpClient { sandbox: "read-only", developerInstructions: AGENT_FILE_CHANGE_REPORT_DEVELOPER_INSTRUCTIONS, ephemeral: true, + excludeTurns: true, }); void forkPromise.then(fork => { if (lateStopReason !== null && forkThreadId === null) { diff --git a/src/__tests__/CodexACPAgent/agent-file-change-report.test.ts b/src/__tests__/CodexACPAgent/agent-file-change-report.test.ts index 768119aa..c18870e1 100644 --- a/src/__tests__/CodexACPAgent/agent-file-change-report.test.ts +++ b/src/__tests__/CodexACPAgent/agent-file-change-report.test.ts @@ -184,6 +184,7 @@ describe("agent file-change report lifecycle", () => { sandbox: "read-only", developerInstructions: expect.any(String), ephemeral: true, + excludeTurns: true, }); expect(turnStart).toHaveBeenNthCalledWith(2, { threadId: "audit-thread",