diff --git a/cli/src/native/actions.rs b/cli/src/native/actions.rs index 2d2dc2f..5ba4e19 100644 --- a/cli/src/native/actions.rs +++ b/cli/src/native/actions.rs @@ -872,9 +872,9 @@ async fn handle_launch(cmd: &Value, state: &mut DaemonState) -> Result Result<(), String> { - let _ = self - .client - .send_command_no_params("Browser.close", None) - .await; + if self.browser_process.is_some() { + // Only send Browser.close when we launched the browser ourselves. + // For external connections (--auto-connect, --cdp) we just disconnect + // without shutting down the user's browser. + let _ = self + .client + .send_command_no_params("Browser.close", None) + .await; + } if let Some(mut process) = self.browser_process.take() { let timeout = std::time::Duration::from_secs(5);