From c0032ef4e0c5ba353a4b73b6028131463f5f019c Mon Sep 17 00:00:00 2001 From: Will Pfleger Date: Mon, 27 Oct 2025 17:36:50 -0400 Subject: [PATCH] fix: restore --resume functionality for most recent session (#5401) --- crates/goose-cli/src/cli.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/crates/goose-cli/src/cli.rs b/crates/goose-cli/src/cli.rs index ac60444c74..6018534d9a 100644 --- a/crates/goose-cli/src/cli.rs +++ b/crates/goose-cli/src/cli.rs @@ -77,10 +77,19 @@ async fn get_or_create_session_id( } let Some(id) = identifier else { - let session = - SessionManager::create_session(std::env::current_dir()?, "CLI Session".to_string()) - .await?; - return Ok(Some(session.id)); + if resume { + let sessions = SessionManager::list_sessions().await?; + let session_id = sessions + .first() + .map(|s| s.id.clone()) + .ok_or_else(|| anyhow::anyhow!("No session found to resume"))?; + return Ok(Some(session_id)); + } else { + let session = + SessionManager::create_session(std::env::current_dir()?, "CLI Session".to_string()) + .await?; + return Ok(Some(session.id)); + } }; if let Some(session_id) = id.session_id {