Index: cli/lib.rs
--- cli/lib.rs.orig
+++ cli/lib.rs
@@ -153,9 +153,10 @@ async fn run_subcommand(
       );
       tools::bundle::bundle(Arc::new(flags), bundle_flags).await
     }),
-    DenoSubcommand::Deploy(deploy_flags) => spawn_subcommand(async move {
-      tools::deploy::deploy(flags, deploy_flags).await
-    }),
+    DenoSubcommand::Deploy(deploy_flags) => exit_with_message(
+      "Deno Deploy is currently not supported on OpenBSD.",
+      1,
+    ),
     DenoSubcommand::Doc(doc_flags) => spawn_subcommand(async {
       tools::doc::doc(Arc::new(flags), doc_flags).await
     }),
@@ -617,7 +618,7 @@ pub fn main() {
   #[cfg(feature = "dhat-heap")]
   let profiler = dhat::Profiler::new_heap();
 
-  setup_panic_hook();
+  // setup_panic_hook();
 
   init_logging(None, None);
 
@@ -752,11 +753,13 @@ async fn resolve_flags_and_init(
   }
 
   let sys = crate::sys::CliSys::default();
+  #[cfg(not(target_os="openbsd"))]
   if deno_lib::args::has_flag_env_var(&sys, "DENO_CONNECTED") {
     flags.tunnel = true;
   }
 
   // Tunnel sets up env vars and OTEL, so connect before everything else.
+  #[cfg(not(target_os="openbsd"))]
   if flags.tunnel && !matches!(flags.subcommand, DenoSubcommand::Deploy(_)) {
     if let Err(err) = initialize_tunnel(&flags).await {
       exit_for_error(
@@ -769,6 +772,10 @@ async fn resolve_flags_and_init(
       std::env::set_var("DENO_CONNECTED", "1");
     }
   }
+  #[cfg(target_os="openbsd")]
+  if flags.tunnel {
+    exit_with_message("--connected and --tunnel are not supported on OpenBSD", 1);
+  }
 
   flags.unstable_config.fill_with_env(&sys);
   if std::env::var("DENO_COMPAT").is_ok() {
@@ -1031,6 +1038,7 @@ struct AuthTunnelOutput {
   token: String,
 }
 
+#[cfg(not(target_os="openbsd"))]
 async fn auth_tunnel(
   no_config: bool,
   env_token: Option<String>,
@@ -1065,6 +1073,7 @@ async fn auth_tunnel(
   Ok(output)
 }
 
+#[cfg(not(target_os="openbsd"))]
 async fn initialize_tunnel(
   flags: &Flags,
 ) -> Result<(), deno_core::anyhow::Error> {
