diff --git a/src-tauri/src/utils/clash.rs b/src-tauri/src/utils/clash.rs
index cc3148e9171d08187e4aa4f297cba2e44ee6f84e..7a1e8803645cd941610b5e860f4f06159739cf2d 100644
--- a/src-tauri/src/utils/clash.rs
+++ b/src-tauri/src/utils/clash.rs
@@ -17,45 +17,39 @@ use tauri::{
 /// Run the clash bin
 pub fn run_clash_bin(app_handle: &AppHandle) -> ClashInfoPayload {
   let app_dir = app_home_dir();
+  let app_dir = app_dir.as_os_str().to_str().unwrap();
+
   let mut payload = ClashInfoPayload {
     status: "success".to_string(),
     controller: None,
     message: None,
   };
 
-  match Command::new_sidecar("clash") {
-    Ok(cmd) => match cmd
-      .args(["-d", &app_dir.as_os_str().to_str().unwrap()])
-      .spawn()
-    {
-      Ok((mut rx, _)) => {
-        log::info!("Successfully execute clash sidecar");
-        payload.controller = Some(read_clash_controller());
-
-        tauri::async_runtime::spawn(async move {
-          while let Some(event) = rx.recv().await {
-            match event {
-              CommandEvent::Stdout(line) => log::info!("{}", line),
-              CommandEvent::Stderr(err) => log::error!("{}", err),
-              _ => {}
-            }
-          }
-        });
-      }
-      Err(err) => {
-        log::error!(
-          "Failed to execute clash sidecar for \"{:?}\"",
-          err.to_string()
-        );
-        payload.status = "error".to_string();
-        payload.message = Some(err.to_string());
-      }
+  let result = match Command::new_sidecar("clash") {
+    Ok(cmd) => match cmd.args(["-d", app_dir]).spawn() {
+      Ok(res) => Ok(res),
+      Err(err) => Err(err.to_string()),
     },
+    Err(err) => Err(err.to_string()),
+  };
+
+  match result {
+    Ok((mut rx, _)) => {
+      log::info!("Successfully execute clash sidecar");
+      payload.controller = Some(read_clash_controller());
+
+      tauri::async_runtime::spawn(async move {
+        while let Some(event) = rx.recv().await {
+          match event {
+            CommandEvent::Stdout(line) => log::info!("{}", line),
+            CommandEvent::Stderr(err) => log::error!("{}", err),
+            _ => {}
+          }
+        }
+      });
+    }
     Err(err) => {
-      log::error!(
-        "Failed to execute clash sidecar for \"{:?}\"",
-        err.to_string()
-      );
+      log::error!("Failed to execute clash sidecar for \"{}\"", err);
       payload.status = "error".to_string();
       payload.message = Some(err.to_string());
     }
@@ -119,9 +113,6 @@ pub async fn put_clash_profile(payload: &ClashInfoPayload) -> Result<(), String>
   let client = reqwest::Client::new();
   match client.put(server).headers(headers).json(&data).send().await {
     Ok(_) => Ok(()),
-    Err(err) => Err(format!(
-      "request failed with status `{}`",
-      err.status().unwrap()
-    )),
+    Err(err) => Err(format!("request failed with status `{}`", err.to_string())),
   }
 }