diff --git a/crates/nu-command/src/shells/enter.rs b/crates/nu-command/src/shells/enter.rs index 2a586c7104..3ec45ce736 100644 --- a/crates/nu-command/src/shells/enter.rs +++ b/crates/nu-command/src/shells/enter.rs @@ -37,6 +37,10 @@ impl Command for Enter { let path_span = new_path.span()?; let new_path = new_path.as_path()?; + + let cwd = current_dir(engine_state, stack)?; + let new_path = nu_path::canonicalize_with(new_path, &cwd)?; + if !new_path.exists() { return Err(ShellError::DirectoryNotFound(path_span)); } @@ -48,9 +52,6 @@ impl Command for Enter { )); } - let cwd = current_dir(engine_state, stack)?; - let new_path = nu_path::canonicalize_with(new_path, &cwd)?; - let new_path = Value::String { val: new_path.to_string_lossy().to_string(), span: call.head,