diff options
| author | JJ Liebig <jonathan.liebig@gmail.com> | 2026-09-12 15:52:18 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-12 13:52:18 +0200 |
| commit | a5d5f6f654a32b27b2bd4dd8edd82f6795359269 (patch) | |
| tree | 0b54a0fb4c1a136dff8224de617c8403756df19a /src/pane.rs | |
| parent | cc36a2943e85134768631d6d289e331c0edb940d (diff) | |
fix: ignore nested OMP session reports (#3994)
refs #2593
Diffstat (limited to 'src/pane.rs')
| -rw-r--r-- | src/pane.rs | 13 |
1 files changed, 13 insertions, 0 deletions
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); } @@ -3558,6 +3561,16 @@ mod tests { } #[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"); cmd.env("WT_SESSION", "outer-session"); |
