From e90f66dfda5ac754845facd004566996dcfcea36 Mon Sep 17 00:00:00 2001 From: Bradley Axen Date: Fri, 17 Jan 2025 13:38:52 -0800 Subject: [PATCH] address comments --- crates/goose-cli/src/commands/configure.rs | 1 + crates/goose-cli/src/commands/session.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/goose-cli/src/commands/configure.rs b/crates/goose-cli/src/commands/configure.rs index 6a7c27a52..418404b5a 100644 --- a/crates/goose-cli/src/commands/configure.rs +++ b/crates/goose-cli/src/commands/configure.rs @@ -249,6 +249,7 @@ pub fn toggle_systems_dialog() -> Result<(), Box> { // Let user toggle systems let selected = cliclack::multiselect("enable systems: (use \"space\" to toggle and \"enter\" to submit)") + .required(false) .items( &system_status .iter() diff --git a/crates/goose-cli/src/commands/session.rs b/crates/goose-cli/src/commands/session.rs index 6fd5f5da6..b8259925e 100644 --- a/crates/goose-cli/src/commands/session.rs +++ b/crates/goose-cli/src/commands/session.rs @@ -61,9 +61,17 @@ pub async fn build_session<'a>( ); } - let config = Config::load().unwrap_or_else(|_| { + let config_path = Config::config_path().expect("should identify default config path"); + + if !config_path.exists() { println!("No configuration found. Please run 'goose configure' first."); process::exit(1); + } + + let config = Config::load().unwrap_or_else(|_| { + println!("The loaded configuration from {} was invalid", config_path.display()); + println!(" please edit the file to make it valid or consider deleting and recreating it via `goose configure`"); + process::exit(1); }); let (provider_name, model_name) = get_provider_and_model(provider, model, &config);