From 87d68c24c97760fff0fc17b2aa1375eed8d339bb Mon Sep 17 00:00:00 2001 From: viyatb-oai Date: Wed, 11 Feb 2026 15:18:53 -0800 Subject: [PATCH] Revert "fix(core): align network retry gating with command approvals" This reverts commit 8e6faca2879cd43164e8dda24cf7376c6144f051. --- codex-rs/core/src/tools/orchestrator.rs | 32 ++----------------------- 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/codex-rs/core/src/tools/orchestrator.rs b/codex-rs/core/src/tools/orchestrator.rs index f393b01157..fe9d41f4d1 100644 --- a/codex-rs/core/src/tools/orchestrator.rs +++ b/codex-rs/core/src/tools/orchestrator.rs @@ -146,7 +146,6 @@ impl ToolOrchestrator { if !can_retry_without_sandbox( tool.wants_no_sandbox_approval(approval_policy), approval_policy, - &turn_ctx.sandbox_policy, retry_details.network_approval_context.is_some(), ) { return Err(ToolError::Codex(CodexErr::Sandbox(SandboxErr::Denied { @@ -243,23 +242,10 @@ fn should_prompt_for_network_approval(turn_ctx: &crate::codex::TurnContext) -> b fn can_retry_without_sandbox( tool_wants_no_sandbox_approval: bool, approval_policy: AskForApproval, - sandbox_policy: &codex_protocol::protocol::SandboxPolicy, has_network_approval_context: bool, ) -> bool { - if tool_wants_no_sandbox_approval { - return true; - } - - if !matches!(approval_policy, AskForApproval::OnRequest) || !has_network_approval_context { - return false; - } - - // Keep retry prompting aligned with command exec approvals for OnRequest: - // only restricted sandbox modes (ReadOnly/WorkspaceWrite) should prompt. - matches!( - default_exec_approval_requirement(approval_policy, sandbox_policy), - ExecApprovalRequirement::NeedsApproval { .. } - ) + tool_wants_no_sandbox_approval + || (matches!(approval_policy, AskForApproval::OnRequest) && has_network_approval_context) } fn extract_network_approval_context(output: &ExecToolCallOutput) -> Option { @@ -373,7 +359,6 @@ mod tests { assert!(!can_retry_without_sandbox( false, AskForApproval::OnRequest, - &codex_protocol::protocol::SandboxPolicy::ReadOnly, false )); } @@ -383,17 +368,6 @@ mod tests { assert!(can_retry_without_sandbox( false, AskForApproval::OnRequest, - &codex_protocol::protocol::SandboxPolicy::ReadOnly, - true - )); - } - - #[test] - fn can_retry_without_sandbox_blocks_on_request_for_network_context_in_danger_full_access() { - assert!(!can_retry_without_sandbox( - false, - AskForApproval::OnRequest, - &codex_protocol::protocol::SandboxPolicy::DangerFullAccess, true )); } @@ -403,7 +377,6 @@ mod tests { assert!(!can_retry_without_sandbox( false, AskForApproval::Never, - &codex_protocol::protocol::SandboxPolicy::ReadOnly, true )); } @@ -413,7 +386,6 @@ mod tests { assert!(can_retry_without_sandbox( true, AskForApproval::OnRequest, - &codex_protocol::protocol::SandboxPolicy::ReadOnly, false )); }