From 37b667919b7a8466b4f3b78bfdfb3316e9c06a5b Mon Sep 17 00:00:00 2001 From: Will Pfleger Date: Mon, 27 Oct 2025 17:00:44 -0400 Subject: [PATCH 1/2] fix: --resume without other args should resume most recent session --- crates/goose-cli/src/cli.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/crates/goose-cli/src/cli.rs b/crates/goose-cli/src/cli.rs index ac60444c74d3..fe37764076e8 100644 --- a/crates/goose-cli/src/cli.rs +++ b/crates/goose-cli/src/cli.rs @@ -77,10 +77,21 @@ 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 { + // Resume most recent session + let sessions = SessionManager::list_sessions().await?; + let session_id = sessions + .first() + .map(|s| s.id.clone()) + .ok_or_else(|| anyhow::anyhow!("No sessions found to resume"))?; + return Ok(Some(session_id)); + } else { + // Create new session + 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 { From 2ab61e9302019d8791db1cadccb24a9107b27438 Mon Sep 17 00:00:00 2001 From: Will Pfleger Date: Mon, 27 Oct 2025 17:24:09 -0400 Subject: [PATCH 2/2] address feedback --- crates/goose-cli/src/cli.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/goose-cli/src/cli.rs b/crates/goose-cli/src/cli.rs index fe37764076e8..6018534d9a43 100644 --- a/crates/goose-cli/src/cli.rs +++ b/crates/goose-cli/src/cli.rs @@ -78,15 +78,13 @@ async fn get_or_create_session_id( let Some(id) = identifier else { if resume { - // Resume most recent session let sessions = SessionManager::list_sessions().await?; let session_id = sessions .first() .map(|s| s.id.clone()) - .ok_or_else(|| anyhow::anyhow!("No sessions found to resume"))?; + .ok_or_else(|| anyhow::anyhow!("No session found to resume"))?; return Ok(Some(session_id)); } else { - // Create new session let session = SessionManager::create_session(std::env::current_dir()?, "CLI Session".to_string()) .await?;