From a5d5f6f654a32b27b2bd4dd8edd82f6795359269 Mon Sep 17 00:00:00 2001 From: JJ Liebig Date: Sat, 12 Sep 2026 15:52:18 +0400 Subject: fix: ignore nested OMP session reports (#3994) refs #2593 --- src/pane.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/pane.rs') diff --git a/src/pane.rs b/src/pane.rs index 0ba411d0..c56cfbb3 100644 --- a/src/pane.rs +++ b/src/pane.rs @@ -147,6 +147,9 @@ impl PaneLaunchEnv { fn apply_pane_launch_env(cmd: &mut CommandBuilder, launch_env: &PaneLaunchEnv) { cmd.env_remove("CODEX_THREAD_ID"); + // OMP sets OMPCODE for shells it spawns. A pane launched from inside OMP + // must not inherit it or its root agent would look like a nested session. + cmd.env_remove("OMPCODE"); for (key, value) in &launch_env.extra { cmd.env(key, value); } @@ -3557,6 +3560,16 @@ mod tests { assert!(cmd.get_env("CODEX_THREAD_ID").is_none()); } + #[test] + fn pane_launch_env_removes_outer_ompcode_marker() { + let mut cmd = CommandBuilder::new("shell"); + cmd.env("OMPCODE", "1"); + + apply_pane_launch_env(&mut cmd, &PaneLaunchEnv::default()); + + assert!(cmd.get_env("OMPCODE").is_none()); + } + #[test] fn pane_terminal_identity_removes_outer_windows_terminal_session() { let mut cmd = CommandBuilder::new("shell"); -- cgit v1.2.3