diff --git a/src-tauri/src/core/tray/mod.rs b/src-tauri/src/core/tray/mod.rs index 35ca49d92..2f2c32366 100644 --- a/src-tauri/src/core/tray/mod.rs +++ b/src-tauri/src/core/tray/mod.rs @@ -274,8 +274,8 @@ impl Tray { let verge = Config::verge().await.latest_arc(); let system_proxy = verge.enable_system_proxy.as_ref().unwrap_or(&false); let tun_mode = verge.enable_tun_mode.as_ref().unwrap_or(&false); - let tun_mode_available = - is_current_app_handle_admin(app_handle) || service::is_service_available().await.is_ok(); + let tun_mode_available = is_current_app_handle_admin(app_handle) + || (service::is_service_ipc_path_exists() && service::is_service_available().await.is_ok()); let mode = { Config::clash() .await