1. 先確認是視窗、核心還是連線出了問題

Clash 啟動後視窗消失,不一定代表同一種故障。桌面用戶端通常包含圖形介面、代理核心,以及選用的服務或 TUN 元件。圖形介面關閉時,核心可能仍在背景執行;核心啟動失敗時,設定視窗也可能繼續顯示。先確認是哪一層停止運作,再決定要修改設定還是修復安裝檔案。

看到的狀況優先檢查項目下一步
視窗關閉,但系統匣圖示仍在確認關閉視窗時是否設定為最小化至系統匣從系統匣重新開啟,確認程序仍在執行
視窗與主要程序同時消失介面日誌、系統當機報告記下錯誤發生時間與異常模組
介面正常,但核心不斷重新啟動設定解析、監聽連接埠、核心檔案查看核心退出前的第一則錯誤
程序正常執行,但網站無法開啟系統代理、DNS、策略群組選擇依連線故障排查,不要直接重新安裝

在 Windows 按 Ctrl + Shift + Esc 開啟工作管理員,並在「詳細資料」中查看用戶端與核心程序。macOS 可在「活動監視器」查看相關程序。程序名稱會因用戶端的封裝方式而異,不能只根據是否出現 clash.exe 判斷。

2. 找出日誌位置,保留退出前的錯誤前後文

介面仍可開啟時

優先查看用戶端的「日誌」頁面,以及設定中名稱包含「設定目錄」、「資料目錄」或「日誌目錄」的項目。不同用戶端的選單不盡相同,安裝目錄也不等於資料目錄。開啟目錄後依修改時間排序,找出與本次啟動時間相符的檔案;介面日誌與核心日誌都要保留。

可暫時將日誌層級從 info 調整為 debug,重現一次問題後立即恢復。除錯日誌可能包含造訪的網域、節點名稱與本機路徑,提交回報前請先遮蔽敏感資訊。若核心尚未啟動,提高核心日誌層級也不會產生介面當機報告。

視窗完全無法開啟時

請複製第一則錯誤前後約 20 行,不要只截取最後一句「啟動失敗」。例如 yaml: line 18 指向設定解析問題,address already in use 表示監聽連接埠衝突,permission denied 則可能是權限或執行受到限制。最後出現的重試訊息往往只是前面錯誤造成的結果。

3. YAML 語法錯誤:檢查實際載入的設定

若問題在訂閱更新、貼上規則或切換 Profile 後發生,請先檢查實際交給核心的設定。用戶端可能會合併訂閱、本機覆寫與執行參數,再產生另一個檔案;只檢查下載的訂閱原始內容,可能會漏掉合併時引入的問題。

先檢查四種常見錯誤

  1. 縮排:YAML 使用空格縮排,不使用 Tab。同一層級的欄位要對齊,清單項目的連字號後要留一個空格。
  2. 標點:鍵名後的冒號要使用半形字元。節點名稱或密碼包含特殊字元時,應依 YAML 規則加上引號。
  3. 引用:規則引用的策略群組,以及策略群組引用的節點或其他群組,名稱都必須與定義一致。全形括號或名稱末尾的空格,也可能造成名稱不相符。
  4. 核心相容性:Clash 與 Clash Meta(現名 mihomo)支援的欄位和協定範圍不同。設定語法正確,不代表目前使用的核心支援所有設定項目。

若用戶端使用 mihomo,可用同一個核心程式測試設定。以下是 Windows PowerShell 範例:先切換到包含該核心的資料夾,再將要檢查的檔案複製到目前資料夾,命名為 config-check.yaml。命令中的程式名稱請依實際檔名調整。

New-Item -ItemType Directory -Force .\check-data | Out-Null
.\mihomo.exe -t -d ".\check-data" -f ".\config-check.yaml"
$LASTEXITCODE

-t 用來測試設定,-f 指定設定檔,-d 指定測試資料目錄。測試時也可能需要 GeoIP、GeoSite 或規則提供者等資源;若錯誤指向資源缺失,請另外處理,不要誤判為 YAML 縮排錯誤。結束代碼為 0 代表本次測試通過,但不表示連接埠一定可用、節點一定能連線,或 TUN 一定能啟動。

4. 連接埠占用:確認監聽程序後再修改連接埠

常見設定會將 7890 用作 HTTP 或混合代理連接埠、7891 用作 SOCKS 連接埠、9090 用作控制介面連接埠,但這些數值並非固定標準。請以目前設定中的 port、socks-port、mixed-port 和 external-controller 為準;DNS 監聽連接埠也可能發生衝突。

Windows:查詢監聽連接埠與 PID

Get-NetTCPConnection -State Listen -LocalPort 7890,7891,9090 -ErrorAction SilentlyContinue |
  Select-Object LocalAddress, LocalPort, OwningProcess

Get-Process -Id 1234

第二個命令中的 1234 是範例 PID,執行前請替換成上一個命令輸出的 OwningProcess。查無結果只代表查詢當下該 TCP 連接埠未處於監聽狀態,不能排除 UDP 連接埠衝突。

macOS:檢查指定的 TCP 監聽連接埠

lsof -nP -iTCP:7890 -sTCP:LISTEN
lsof -nP -iTCP:9090 -sTCP:LISTEN
  1. 若占用連接埠的是另一個用戶端執行個體,請先透過系統匣選單正常結束,再檢查是否設有重複的開機啟動項目。
  2. 若占用者是其他應用程式,可將本機測試設定的 mixed-port 暫時改為 17890,再重新啟動驗證。
  3. 修改連接埠後,也要同步檢查系統代理和瀏覽器的個別代理設定。只修改核心連接埠,舊的系統代理位址仍可能指向 127.0.0.1:7890。

不要直接結束不明的系統程序,也不要為了消除錯誤而將控制介面改成對外公開監聽。僅供本機使用的控制介面應綁定回送位址,例如 127.0.0.1:9090。

5. 核心檔案缺失、架構不符與 TUN 權限

若日誌出現「檔案不存在」、「無法執行」或「拒絕存取」,請核對日誌列出的完整核心路徑。程式更新中斷、安全軟體隔離檔案,或只複製主程式而漏掉配套檔案,都可能造成介面仍在但核心無法啟動。

TUN 通常需要額外的系統權限或服務支援,具體要求取決於平台與用戶端的實作方式。先關閉自動啟用 TUN,確認核心在一般代理模式下能持續運作,再透過用戶端提供的服務安裝或授權入口恢復 TUN。一般代理可用只代表基本連線路徑已恢復,不代表 TUN 的 DNS 與路由設定正確。

6. 還原設定:用獨立副本隔離舊資料

重新安裝後仍然閃退,常見原因是新程式繼續讀取舊資料目錄。還原的目的不是立即刪除所有資料,而是建立可復原的對照環境,確認故障是否會隨原設定再次出現。

依序執行還原步驟

  1. 結束相關程序:正常關閉用戶端,確認沒有殘留核心持續寫入資料。若有背景服務,請使用用戶端提供的服務管理功能處理。
  2. 備份整個資料目錄:保留 Profile、訂閱資訊、本機覆寫、規則檔案和介面設定。備份檔名可設為 clash-backup-2026-08-06。備份可能含有訂閱憑證,請存放在私人位置。
  3. 隔離舊目錄:確認實際資料路徑後,將資料夾重新命名並保留。部分用戶端支援可攜模式或獨立資料目錄模式,請依該用戶端說明建立測試環境,不要直接套用其他用戶端的啟動參數。
  4. 建立最精簡的設定:關閉自動匯入舊訂閱、自動覆寫與 TUN,先只測試設定解析和本機監聽。
  5. 逐項還原:依序還原訂閱、策略群組、規則、本機覆寫與 TUN。每次只還原一項,重新啟動一次並記錄結果。

以下設定適用於支援這些欄位的 Clash 或 mihomo 核心,可用來進行測試。設定使用 17890 作為混合連接埠,所有流量直接連線,不包含代理節點。請另存為本機檔案,不要覆蓋原訂閱;若該連接埠也已被占用,請先依照前述步驟改用未占用的連接埠。

mixed-port: 17890
allow-lan: false
mode: rule
log-level: info

proxies: []
proxy-groups: []

rules:
  - MATCH,DIRECT

這份設定只能驗證基本啟動,不能用來確認代理節點是否有效。若它能持續執行,但還原原設定後立刻報錯,問題通常已縮小到原設定、覆寫或相依資源。若它也無法啟動,請繼續檢查安裝檔案、圖形介面執行環境與系統當機記錄。

7. 確認修復結果並準備回報資料

成功啟動一次還不足以結束排查。建議連續重新啟動用戶端 3 次,確認日誌不再出現相同錯誤;接著更新一次訂閱,確認本機修復不會被遠端設定覆蓋。最後依實際需求恢復系統代理與 TUN,分別測試,避免同時啟用而無法判斷故障來源。

若仍需回報,請提供用戶端完整版本號、核心版本、作業系統版本與架構、故障發生時間、第一則錯誤前後的日誌,以及最精簡設定能否啟動。請遮蔽訂閱 URL、節點密碼、控制介面金鑰和個人資料夾名稱;保留欄位層級、錯誤行號與異常類型,才能進一步定位問題。

建議依序排查:確認停止運作的層級、查看第一則錯誤、測試實際設定、檢查連接埠、確認核心、隔離舊資料。需要重新安裝時,先到下載頁確認平台支援情況;欄位與規則的關係可參閱進階設定,基本設定則可參考使用指南。