diff --git a/cli/src/settings/settings.rs b/cli/src/settings/settings.rs index 95d0e4d2e..440e6cb4a 100644 --- a/cli/src/settings/settings.rs +++ b/cli/src/settings/settings.rs @@ -184,10 +184,16 @@ impl Settings { .ok_or_else(|| anyhow!("Could not determine config file name"))? }; - let mut document = fs::read_to_string(filename.clone()) - .context("Could not read existing configuration file")? - .parse::() - .context("Could not parse existing configuration file")?; + let exists = filename.exists(); + + let mut document = if exists { + fs::read_to_string(filename.clone()) + .context("Could not read existing configuration file")? + .parse::() + .context("Could not parse existing configuration file")? + } else { + Document::new() + }; // set the value as the correct type match key {