@@ -2729,6 +2729,7 @@ impl CodexMessageProcessor {
27292729 /*has_in_progress_turn*/ false ,
27302730 ) ;
27312731
2732+ let sandbox_policy = config_snapshot. sandbox_policy ( ) ;
27322733 let permission_profile =
27332734 thread_response_permission_profile ( config_snapshot. permission_profile ) ;
27342735
@@ -2741,7 +2742,7 @@ impl CodexMessageProcessor {
27412742 instruction_sources,
27422743 approval_policy : config_snapshot. approval_policy . into ( ) ,
27432744 approvals_reviewer : config_snapshot. approvals_reviewer . into ( ) ,
2744- sandbox : config_snapshot . sandbox_policy . into ( ) ,
2745+ sandbox : sandbox_policy. into ( ) ,
27452746 permission_profile,
27462747 reasoning_effort : config_snapshot. reasoning_effort ,
27472748 } ;
@@ -3465,7 +3466,7 @@ impl CodexMessageProcessor {
34653466 builder. model_provider = Some ( model_provider. clone ( ) ) ;
34663467 builder. cwd = config_snapshot. cwd . to_path_buf ( ) ;
34673468 builder. cli_version = Some ( env ! ( "CARGO_PKG_VERSION" ) . to_string ( ) ) ;
3468- builder. sandbox_policy = config_snapshot. sandbox_policy . clone ( ) ;
3469+ builder. sandbox_policy = config_snapshot. sandbox_policy ( ) ;
34693470 builder. approval_mode = config_snapshot. approval_policy ;
34703471 let metadata = builder. build ( model_provider. as_str ( ) ) ;
34713472 if let Err ( err) = state_db_ctx. insert_thread_if_absent ( & metadata) . await {
@@ -4555,7 +4556,7 @@ impl CodexMessageProcessor {
45554556 instruction_sources,
45564557 approval_policy : session_configured. approval_policy . into ( ) ,
45574558 approvals_reviewer : session_configured. approvals_reviewer . into ( ) ,
4558- sandbox : config_snapshot. sandbox_policy . into ( ) ,
4559+ sandbox : config_snapshot. sandbox_policy ( ) . into ( ) ,
45594560 permission_profile,
45604561 reasoning_effort : session_configured. reasoning_effort ,
45614562 } ;
@@ -5284,7 +5285,7 @@ impl CodexMessageProcessor {
52845285 instruction_sources,
52855286 approval_policy : session_configured. approval_policy . into ( ) ,
52865287 approvals_reviewer : session_configured. approvals_reviewer . into ( ) ,
5287- sandbox : config_snapshot. sandbox_policy . into ( ) ,
5288+ sandbox : config_snapshot. sandbox_policy ( ) . into ( ) ,
52885289 permission_profile,
52895290 reasoning_effort : session_configured. reasoning_effort ,
52905291 } ;
@@ -8756,13 +8757,13 @@ async fn handle_pending_thread_resume_request(
87568757 tracing:: warn!( "failed to apply goal resume runtime effects: {err}" ) ;
87578758 }
87588759
8760+ let sandbox_policy = pending. config_snapshot . sandbox_policy ( ) ;
87598761 let ThreadConfigSnapshot {
87608762 model,
87618763 model_provider_id,
87628764 service_tier,
87638765 approval_policy,
87648766 approvals_reviewer,
8765- sandbox_policy,
87668767 permission_profile,
87678768 cwd,
87688769 reasoning_effort,
@@ -8985,8 +8986,9 @@ fn collect_resume_override_mismatches(
89858986 }
89868987 }
89878988 if let Some ( requested_sandbox) = request. sandbox . as_ref ( ) {
8989+ let active_sandbox = config_snapshot. sandbox_policy ( ) ;
89888990 let sandbox_matches = matches ! (
8989- ( requested_sandbox, & config_snapshot . sandbox_policy ) ,
8991+ ( requested_sandbox, & active_sandbox ) ,
89908992 (
89918993 SandboxMode :: ReadOnly ,
89928994 codex_protocol:: protocol:: SandboxPolicy :: ReadOnly { .. }
@@ -9003,8 +9005,7 @@ fn collect_resume_override_mismatches(
90039005 ) ;
90049006 if !sandbox_matches {
90059007 mismatch_details. push ( format ! (
9006- "sandbox requested={requested_sandbox:?} active={:?}" ,
9007- config_snapshot. sandbox_policy
9008+ "sandbox requested={requested_sandbox:?} active={active_sandbox:?}"
90089009 ) ) ;
90099010 }
90109011 }
@@ -10690,7 +10691,6 @@ mod tests {
1069010691 service_tier : Some ( codex_protocol:: config_types:: ServiceTier :: Flex ) ,
1069110692 approval_policy : codex_protocol:: protocol:: AskForApproval :: OnRequest ,
1069210693 approvals_reviewer : codex_protocol:: config_types:: ApprovalsReviewer :: User ,
10693- sandbox_policy : codex_protocol:: protocol:: SandboxPolicy :: DangerFullAccess ,
1069410694 permission_profile : codex_protocol:: models:: PermissionProfile :: Disabled ,
1069510695 cwd,
1069610696 ephemeral : false ,
0 commit comments