From 7b3c047b983f9eff4dc645997a305677f3a55e84 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Fri, 10 Apr 2026 23:05:47 -0700 Subject: [PATCH] Handle closed TUI input stream as shutdown Addresses #17276 --- codex-rs/tui/src/app.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/codex-rs/tui/src/app.rs b/codex-rs/tui/src/app.rs index 89280290bc26..02c5d8706ce1 100644 --- a/codex-rs/tui/src/app.rs +++ b/codex-rs/tui/src/app.rs @@ -3938,10 +3938,15 @@ impl App { } AppRunControl::Continue } - Some(event) = tui_events.next() => { - match app.handle_tui_event(tui, &mut app_server, event).await { - Ok(control) => control, - Err(err) => break Err(err), + event = tui_events.next() => { + if let Some(event) = event { + match app.handle_tui_event(tui, &mut app_server, event).await { + Ok(control) => control, + Err(err) => break Err(err), + } + } else { + tracing::warn!("terminal input stream closed; shutting down active thread"); + app.handle_exit_mode(&mut app_server, ExitMode::ShutdownFirst).await } } app_server_event = app_server.next_event(), if listen_for_app_server_events => {