diff --git a/crates/workspace/src/multi_workspace.rs b/crates/workspace/src/multi_workspace.rs index e9baccb4d93c94..b937a9733119de 100644 --- a/crates/workspace/src/multi_workspace.rs +++ b/crates/workspace/src/multi_workspace.rs @@ -578,6 +578,9 @@ impl MultiWorkspace { pub fn restore_project_group_keys(&mut self, keys: Vec) { let mut restored: Vec = Vec::with_capacity(keys.len()); for key in keys { + if key.path_list().paths().is_empty() { + continue; + } if !restored.contains(&key) { restored.push(key); } diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index 3d1f67bf69fb81..e6244f63b8b45e 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -8778,6 +8778,9 @@ pub async fn restore_multiworkspace( // stale keys from previous sessions get normalized and deduped. let mut resolved_keys: Vec = Vec::new(); for key in project_group_keys.into_iter().map(ProjectGroupKey::from) { + if key.path_list().paths().is_empty() { + continue; + } let mut resolved_paths = Vec::new(); for path in key.path_list().paths() { if let Some(common_dir) =