mirror of
https://github.com/openai/codex.git
synced 2026-11-02 16:20:35 +00:00
Scope command approvals by execution environment (#28738)
## Why Command approval cache keys included the command and working directory, but not the execution environment. An approval for `/workspace` locally could therefore be reused for the same command and path on an executor. ## What changed - Include the selected environment ID in shell and unified-exec approval cache keys. - Carry that ID through the normal command approval request so clients can show which environment is being approved. - Expose the environment through app-server as a required nullable `environmentId` and show it in the inline TUI approval prompt. - Keep older recorded approval events compatible when the environment is absent. For example, `echo ok` in local `/workspace` and `echo ok` in executor `/workspace` now produce different approval keys and separate prompts. ## Scope This PR does not change network approvals, Guardian review actions, MCP elicitation, full-screen TUI rendering, or environment-ID validation. Remote `shell_command` execution itself remains in #28722; this PR only makes its approval key environment-aware.
This commit is contained in:
40 files changed
+215
-14
No files matched your search
@@ -852,6 +852,7 @@ fn exec_approval_request_from_params(
|
||||
additional_permissions: params.additional_permissions,
|
||||
turn_id: params.turn_id,
|
||||
approval_id: params.approval_id,
|
||||
environment_id: params.environment_id,
|
||||
proposed_execpolicy_amendment: params.proposed_execpolicy_amendment,
|
||||
proposed_network_policy_amendments: params.proposed_network_policy_amendments,
|
||||
available_decisions: params.available_decisions,
|
||||
|
||||
Reference in new issue
Block a user