diff --git a/crates/forge_main/src/model.rs b/crates/forge_main/src/model.rs index 83dd9f88cd..5e2c0d0344 100644 --- a/crates/forge_main/src/model.rs +++ b/crates/forge_main/src/model.rs @@ -295,6 +295,7 @@ impl ForgeCommandManager { } Ok(SlashCommand::Rename(name)) } + "/delete" => Ok(SlashCommand::Delete), text => { let parts = text.split_ascii_whitespace().collect::>(); diff --git a/crates/forge_main/src/ui.rs b/crates/forge_main/src/ui.rs index 3d6b946bac..c68c55835e 100644 --- a/crates/forge_main/src/ui.rs +++ b/crates/forge_main/src/ui.rs @@ -2038,7 +2038,12 @@ impl A + Send + Sync> UI { } async fn handle_delete_conversation(&mut self) -> anyhow::Result<()> { - let conversation_id = self.init_conversation().await?; + let conversation_id = self + .state + .conversation_id + .ok_or_else(|| anyhow::anyhow!("No active conversation to delete. Start a conversation first."))?; + + self.validate_conversation_exists(&conversation_id).await?; self.on_conversation_delete(conversation_id).await?; Ok(()) }