From 11c019d6c5de998022330f29ba040642174c0a98 Mon Sep 17 00:00:00 2001 From: Thibault Sottiaux Date: Sat, 18 Oct 2025 11:55:24 -0700 Subject: [PATCH] fix: handle missing resume session id gracefully (#5329) Exit when a requested resume session is missing after restoring the terminal and print a helpful message instructing users how to resume existing sessions. Partially addresses #5247. --- codex-rs/tui/src/lib.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/codex-rs/tui/src/lib.rs b/codex-rs/tui/src/lib.rs index aa40b05c..3cae3939 100644 --- a/codex-rs/tui/src/lib.rs +++ b/codex-rs/tui/src/lib.rs @@ -437,7 +437,20 @@ async fn run_ratatui_app( Some(path) => resume_picker::ResumeSelection::Resume(path), None => { error!("Error finding conversation path: {id_str}"); - resume_picker::ResumeSelection::StartFresh + restore(); + session_log::log_session_end(); + let _ = tui.terminal.clear(); + if let Err(err) = writeln!( + std::io::stdout(), + "No saved session found with ID {id_str}. Run `codex resume` without an ID to choose from existing sessions." + ) { + error!("Failed to write resume error message: {err}"); + } + return Ok(AppExitInfo { + token_usage: codex_core::protocol::TokenUsage::default(), + conversation_id: None, + update_action: None, + }); } } } else if cli.resume_last {