diff --git a/src/global/project/mod.rs b/src/global/project/mod.rs index db788003b0..cfb6228b4f 100644 --- a/src/global/project/mod.rs +++ b/src/global/project/mod.rs @@ -612,6 +612,11 @@ impl Project { &mut self, env_name: &EnvironmentName, ) -> miette::Result { + // Check if the environment exists in the manifest first, before creating any directories + if !self.manifest.parsed.envs.contains_key(env_name) { + miette::bail!("Environment {} doesn't exist.", env_name.fancy_display()); + } + let env_dir = EnvDir::from_env_root(self.env_root.clone(), env_name).await?; let mut state_changes = StateChanges::new_with_env(env_name.clone());