From c059569590fb0f80c6fe8cc47e618cdd472e8d87 Mon Sep 17 00:00:00 2001 From: Sheikh Limon Date: Thu, 12 Feb 2026 19:56:08 +0600 Subject: [PATCH] fix: handle keyring fallback as success (#7177) Signed-off-by: sheikhlimon --- crates/goose/src/config/base.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/goose/src/config/base.rs b/crates/goose/src/config/base.rs index e678e5d34d..ae3d96c046 100644 --- a/crates/goose/src/config/base.rs +++ b/crates/goose/src/config/base.rs @@ -802,11 +802,15 @@ impl Config { match &self.secrets { SecretStorage::Keyring { service } => { let json_value = serde_json::to_string(&values)?; - self.handle_keyring_operation( + match self.handle_keyring_operation( |entry| entry.set_password(&json_value), service, Some(&values), - )?; + ) { + Ok(_) => {} + Err(ConfigError::FallbackToFileStorage) => {} + Err(e) => return Err(e), + } } SecretStorage::File { path } => { let yaml_value = serde_yaml::to_string(&values)?; @@ -839,11 +843,15 @@ impl Config { match &self.secrets { SecretStorage::Keyring { service } => { let json_value = serde_json::to_string(&values)?; - self.handle_keyring_operation( + match self.handle_keyring_operation( |entry| entry.set_password(&json_value), service, Some(&values), - )?; + ) { + Ok(_) => {} + Err(ConfigError::FallbackToFileStorage) => {} + Err(e) => return Err(e), + } } SecretStorage::File { path } => { let yaml_value = serde_yaml::to_string(&values)?;