aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-08 02:55:23 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-08 02:55:23 +0300
commit27a028aeae0b2ecdd747c90aa34605fd7e810ef1 (patch)
tree38808fa007c0f3d03790ced72aaedb959e5e8432
parente7ba8da29ab27a6f0875c4b99245ef4dc5a3dbbb (diff)
fix: detect codex interrupt status headers
refs #501
-rw-r--r--docs/next/CHANGELOG.md1
-rw-r--r--src/detect/agents/codex.rs1
-rw-r--r--src/detect/mod.rs12
3 files changed, 14 insertions, 0 deletions
diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md
index 3c5f2140..ddf9cc6b 100644
--- a/docs/next/CHANGELOG.md
+++ b/docs/next/CHANGELOG.md
@@ -3,6 +3,7 @@
## Unreleased
### Fixed
+- Codex panes now stay marked working when the live status header uses reasoning-summary text such as `Investigating code output` instead of the literal `Working` label. (#501)
- Native pane URL clicks now use Cmd-click on macOS and Ctrl-click on other platforms.
- Windows beta installs now default to the preview channel, persist `channel = "preview"` during install, reject switching to stable until stable Windows builds exist, and update through the Windows installer without probing unsupported live-handoff/session status paths.
- Pane output now renders flag emoji and other multi-codepoint grapheme clusters as complete symbols instead of blank cells. (#243)
diff --git a/src/detect/agents/codex.rs b/src/detect/agents/codex.rs
index 9870bca6..a53d9358 100644
--- a/src/detect/agents/codex.rs
+++ b/src/detect/agents/codex.rs
@@ -152,6 +152,7 @@ fn codex_working_status_line(line: &str) -> bool {
trimmed.starts_with('•')
&& (trimmed.contains("Working (")
|| trimmed.contains("Waiting for background terminal (")
+ || lower.contains(" • esc to interrupt")
|| lower.contains("reviewing approval request (")
|| (lower.contains("reviewing ") && lower.contains(" approval requests ("))
|| trimmed.contains("Booting MCP server:"))
diff --git a/src/detect/mod.rs b/src/detect/mod.rs
index 0c7ad943..1e3a2288 100644
--- a/src/detect/mod.rs
+++ b/src/detect/mod.rs
@@ -1567,6 +1567,18 @@ mod tests {
}
#[test]
+ fn codex_generic_interrupt_status_above_current_prompt_stays_working() {
+ let detection = detect_agent(
+ Some(Agent::Codex),
+ "• I need to inspect more code first.\n\n• Investigating code output (44s • esc to interrupt)\n\n\n› Summarize recent commits\n\n gpt-5.5 high · ~/Codes/herdr",
+ );
+
+ assert_eq!(detection.state, AgentState::Working);
+ assert!(detection.visible_working);
+ assert!(!detection.visible_idle);
+ }
+
+ #[test]
fn codex_background_terminal_status_above_current_prompt_stays_working() {
let detection = detect_agent(
Some(Agent::Codex),