diff --git a/codex-rs/core/src/mcp_tool_call.rs b/codex-rs/core/src/mcp_tool_call.rs index 217f7df041..35b15eaa19 100644 --- a/codex-rs/core/src/mcp_tool_call.rs +++ b/codex-rs/core/src/mcp_tool_call.rs @@ -34,10 +34,10 @@ use codex_analytics::build_track_events_context; use codex_config::types::AppToolApproval; use codex_features::Feature; use codex_mcp::CODEX_APPS_MCP_SERVER_NAME; -use codex_mcp::mcp_permission_prompt_is_auto_approved; use codex_otel::sanitize_metric_tag_value; use codex_protocol::mcp::CallToolResult; use codex_protocol::openai_models::InputModality; +use codex_protocol::protocol::AskForApproval; use codex_protocol::protocol::EventMsg; use codex_protocol::protocol::McpInvocation; use codex_protocol::protocol::McpToolCallBeginEvent; @@ -694,10 +694,7 @@ async fn maybe_request_mcp_tool_approval( metadata: Option<&McpToolApprovalMetadata>, approval_mode: AppToolApproval, ) -> Option { - if mcp_permission_prompt_is_auto_approved( - turn_context.approval_policy.value(), - turn_context.sandbox_policy.get(), - ) { + if turn_context.approval_policy.value() == AskForApproval::Never { return None; } diff --git a/codex-rs/core/src/mcp_tool_call_tests.rs b/codex-rs/core/src/mcp_tool_call_tests.rs index 7d8fa614ed..9e89e0d4b2 100644 --- a/codex-rs/core/src/mcp_tool_call_tests.rs +++ b/codex-rs/core/src/mcp_tool_call_tests.rs @@ -1676,7 +1676,7 @@ async fn approve_mode_blocks_when_arc_returns_interrupt_without_annotations() { } #[tokio::test] -async fn full_access_mode_skips_arc_monitor_for_all_approval_modes() { +async fn never_policy_approves_mcp_tool_calls_for_all_approval_modes() { use wiremock::Mock; use wiremock::MockServer; use wiremock::ResponseTemplate; @@ -1711,7 +1711,7 @@ async fn full_access_mode_skips_arc_monitor_for_all_approval_modes() { .expect("test setup should allow updating approval policy"); turn_context .sandbox_policy - .set(SandboxPolicy::DangerFullAccess) + .set(SandboxPolicy::new_workspace_write_policy()) .expect("test setup should allow updating sandbox policy"); let mut config = (*turn_context.config).clone(); config.chatgpt_base_url = server.uri();