diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 00cda8fc32c3b..f0a05676c6a32 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -872,7 +872,7 @@ impl Item for TerminalView { ) -> Task>> { let window = cx.window_handle(); cx.spawn(|pane, mut cx| async move { - let cwd = TERMINAL_DB + let mut cwd = TERMINAL_DB .get_working_directory(item_id, workspace_id) .log_err() .flatten() @@ -887,6 +887,13 @@ impl Item for TerminalView { .flatten() }); + // todo("windows") + // can we fix this from the source? + if let Some(ref cwd_path) = cwd { + if cwd_path.as_os_str().is_empty() { + cwd = None; + } + } let terminal = project.update(&mut cx, |project, cx| { project.create_terminal(cwd, None, window, cx) })??;