diff --git a/crates/client/src/main.rs b/crates/client/src/main.rs index 48f3df9..1a07545 100644 --- a/crates/client/src/main.rs +++ b/crates/client/src/main.rs @@ -712,8 +712,15 @@ async fn handle_message( display::cmd_done("🔄", "update", "", true, "updated — restarting"); // Delete old binary let _ = std::fs::remove_file(&old); - // Restart with same args + // Restart with same args (new console window on Windows) let args: Vec = std::env::args().skip(1).collect(); + #[cfg(target_os = "windows")] + { + use std::os::windows::process::CommandExt; + const CREATE_NEW_CONSOLE: u32 = 0x00000010; + let _ = std::process::Command::new(&exe).args(&args).creation_flags(CREATE_NEW_CONSOLE).spawn(); + } + #[cfg(not(target_os = "windows"))] let _ = std::process::Command::new(&exe).args(&args).spawn(); std::process::exit(0); });