From 453789914bb725d1cd5a3edd7ec5d8b0b45041cd Mon Sep 17 00:00:00 2001 From: Lucenx9 <185146821+Lucenx9@users.noreply.github.com> Date: Sat, 25 Apr 2026 03:32:34 +0200 Subject: [PATCH] fix(codex): respect command approval decisions --- .../src/app-server/approval-bridge.test.ts | 18 ++++++++++++++++++ .../codex/src/app-server/approval-bridge.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/extensions/codex/src/app-server/approval-bridge.test.ts b/extensions/codex/src/app-server/approval-bridge.test.ts index 00f07f32063..7494a5a59f5 100644 --- a/extensions/codex/src/app-server/approval-bridge.test.ts +++ b/extensions/codex/src/app-server/approval-bridge.test.ts @@ -757,6 +757,24 @@ describe("Codex app-server approval bridge", () => { }, }, }); + expect( + buildApprovalResponse( + "item/commandExecution/requestApproval", + { availableDecisions: ["decline"] }, + "approved-once", + ), + ).toEqual({ + decision: "decline", + }); + expect( + buildApprovalResponse( + "item/commandExecution/requestApproval", + { availableDecisions: ["decline"] }, + "approved-session", + ), + ).toEqual({ + decision: "decline", + }); expect(buildApprovalResponse("item/fileChange/requestApproval", undefined, "denied")).toEqual({ decision: "decline", }); diff --git a/extensions/codex/src/app-server/approval-bridge.ts b/extensions/codex/src/app-server/approval-bridge.ts index 71d5527ac58..55cf909566a 100644 --- a/extensions/codex/src/app-server/approval-bridge.ts +++ b/extensions/codex/src/app-server/approval-bridge.ts @@ -274,7 +274,7 @@ function commandApprovalDecision( return amendmentDecision; } } - return "accept"; + return hasAvailableDecision(requestParams, "accept") ? "accept" : "decline"; } function fileChangeApprovalDecision(outcome: AppServerApprovalOutcome): JsonValue {