From 69e1b98c44af28f49a4e9dcfecd01209492ef58d Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Thu, 30 Jul 2026 13:38:37 -0600 Subject: [PATCH] fix: ctrl-c interruption doesn't discard session messages when throbber is showing --- src/client/common.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/client/common.rs b/src/client/common.rs index 2b0aec2..d927440 100644 --- a/src/client/common.rs +++ b/src/client/common.rs @@ -505,10 +505,19 @@ pub async fn call_chat_completions_streaming( let (text, tool_calls, thinking) = handler.take(); if aborted_ctrlc { - if text.is_empty() || !ctx.working_mode.is_repl() || ctx.session.is_none() { + if !ctx.working_mode.is_repl() || ctx.session.is_none() { bail!("Aborted."); } + if text.is_empty() { + if !silent && *IS_STDOUT_TERMINAL { + println!(); + eprintln!("{}", error_text("Response interrupted")); + } + + return Ok(("".to_string(), vec![])); + } + if !silent && *IS_STDOUT_TERMINAL { println!(); eprintln!("{}", error_text("Response interrupted"));