2026-06-10 约 8 分钟读完

Clash 客户端启动闪退怎么办?Windows 与 macOS 崩溃排查步骤

双击图标无反应、窗口一闪而过、界面打开后提示内核启动失败,是 Clash 类客户端最常见的三类启动故障。本文按故障层级整理原因,分别给出 WindowsmacOS 的排查步骤。所有操作均可逆,开始前先备份配置目录。

先判断崩溃发生在哪一层

启动故障分两层,处置路径完全不同。先花一分钟定位层级,再动手。

  • GUI 层崩溃:双击图标无反应、进程出现后立刻退出、窗口白屏。原因多为运行环境缺失、安装包与系统架构不匹配、权限不足。
  • 内核层崩溃:界面正常打开,但提示「内核启动失败」「Clash core exited」,或系统代理开关一打开就报错。原因多为配置文件损坏、端口被占用、上一次的内核进程残留。

判断方法:打开客户端的日志页面,或直接查看数据目录下的 logs 文件夹。日志停在界面初始化阶段,是 GUI 层问题;日志里出现 mihomoclash 内核的报错行,是内核层问题。内核层问题优先查配置文件,GUI 层问题优先查运行环境。

通用检查:配置文件与订阅

配置文件损坏是内核层崩溃的首要原因。Clash 的配置是 YAML 格式,对缩进与字符敏感,任何一处格式错误都会让内核在启动解析阶段直接退出。

常见的损坏场景有三种:

  • 手动编辑配置时混入了 Tab 缩进。YAML 只允许空格缩进,一个 Tab 就足以让解析失败。
  • 订阅链接返回的不是 YAML,而是错误提示页、登录页或空内容,客户端原样写入后无法解析。
  • 客户端异常退出时正在写配置文件,文件被截断,留下半个 YAML 文档。

处置方式是让客户端重建配置,而不是逐行修:

  1. 彻底退出客户端,找到配置目录(见下表)。
  2. 把整个目录重命名备份,例如在原名后加 .bak 后缀。
  3. 重启客户端,它会自动重建一份默认配置。
  4. 重新导入订阅,确认能正常启动后,再从备份里挑回需要的自定义规则。
客户端Windows 配置目录macOS 配置目录
Clash Verge Rev%APPDATA%\io.github.clash-verge-rev.clash-verge-rev~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev
Clash for Windows%APPDATA%\clash
ClashX Meta~/.config/clash
mihomo 内核(独立运行)~/.config/mihomo
WARN重命名配置目录前必须先彻底退出客户端。运行中的进程持有文件句柄,会把旧配置再写回去,导致重建失败。

另外一类高频损坏是缓存文件 cache.db。它记录 Fake-IP 映射等运行状态,异常断电后可能损坏并导致内核启动即崩溃。直接删除该文件即可,客户端会重建,不影响配置。

Windows 排查步骤

修复 WebView2 运行时

Clash Verge Rev、Clash Nyanpasu 等基于 Tauri 框架的客户端,依赖系统的 WebView2 组件渲染界面。WebView2 缺失或损坏时,典型表现是窗口白屏、启动后立即退出。

打开「设置 → 应用 → 已安装的应用」,搜索 WebView2。存在则选择「修改 → 修复」;不存在则从微软官网下载安装 Microsoft Edge WebView2 Runtime,装完重启客户端。Electron 系客户端(如 Clash for Windows)自带渲染内核,不依赖 WebView2,可跳过此项。

检查端口占用

默认混合端口 7890 被其他程序占用时,内核启动即失败。在命令提示符中执行:

netstat -ano | findstr :7890

有输出说明端口被占,最后一列是占用进程的 PID,在任务管理器的「详细信息」页按 PID 找到它。占用者常常是上一次没退干净的 Clash 内核,直接结束即可。如果不想动占用方,也可以在客户端设置里把混合端口改成 7897 等空闲端口。

清理残留进程

客户端异常退出后,内核进程可能仍在后台运行,再次启动时产生端口与文件锁冲突。用管理员权限的命令提示符执行:

taskkill /F /IM verge-mihomo.exe
taskkill /F /IM clash-meta.exe
taskkill /F /IM mihomo.exe

按实际客户端的内核进程名执行,提示「找不到该进程」可忽略,说明没有残留。

权限与安全软件

  • TUN 模式与服务模式需要管理员权限。右键客户端图标选「以管理员身份运行」,可验证故障是否与权限有关。
  • 部分安全软件会拦截内核联网,或把内核可执行文件误判隔离。检查安全软件的隔离区,恢复被隔离的文件,并把客户端安装目录加入信任列表。
  • 安装路径避免使用中文与空格之外的特殊字符,个别旧版本对非 ASCII 路径处理不完善。

macOS 排查步骤

「已损坏,无法打开」与隔离属性

从浏览器下载的未公证应用会被 Gatekeeper 加上隔离属性,双击时提示「已损坏」并直接退出。文件本身通常完好,移除隔离属性即可。打开「应用程序 → 实用工具 → 终端」,执行:

sudo xattr -rd com.apple.quarantine /Applications/Clash\ Verge.app

把路径换成实际的应用名,输入登录密码后回车,再正常启动。

确认芯片架构

Apple 芯片(M 系列)对应 arm64 安装包,Intel 对应 x64。装反的典型表现是 Dock 图标弹跳一下即退出,在终端手动执行二进制会报 Bad CPU type in executable。点左上角苹果菜单 →「关于本机」确认芯片型号,然后到下载页换对应架构的版本重装。

端口与残留进程

与 Windows 同理,先查默认端口:

lsof -i :7890

有输出则按第二列的 PID 结束占用进程:

kill -9 <PID>

也可以直接按进程名清理残留内核:pkill -f mihomo

权限修复

首次启动时系统会弹出授权框,用于写入系统代理设置,点「取消」会导致后续启动流程异常。另外,若曾用 sudo 直接运行过客户端,配置目录的属主可能变成 root,之后用普通权限启动会读写失败。修复属主:

sudo chown -R $(whoami) ~/Library/Application\ Support/io.github.clash-verge-rev.clash-verge-rev

路径按上表替换成实际客户端的目录。

彻底清理后重装

单点修复无效时,按下面的顺序做一次干净重装。重装解决的是「本地数据目录损坏」这一类问题;订阅链接本身失效、机场侧故障不在此列,那类问题客户端再干净也连不上。

  1. 退出客户端,按上文方法确认内核进程已全部结束。
  2. 把数据目录重命名备份,加 .bak 后缀。
  3. 删除原数据目录,卸载旧版本。
  4. 安装最新版客户端,启动后重新导入订阅。
  5. 先不开 TUN 模式,确认系统代理模式下能正常连接。
  6. 逐项恢复自定义设置,每改一项重启一次,借此定位触发崩溃的具体配置项。
NOTE第 6 步是定位根因的关键。如果恢复到某一项就崩溃,问题就出在该配置项,而不是客户端本身。

仍然崩溃:收集日志再排查

以上步骤都无效时,把客户端的日志级别调到 debug,复现一次崩溃,然后收集以下信息:

  • 操作系统版本,例如 Windows 11 23H2、macOS 15.5。
  • 客户端名称与版本号,以及内核类型(mihomo 或 Clash Premium)。
  • 完整的复现步骤:从双击图标到崩溃的每一步操作。
  • 日志中崩溃前后的报错片段,截取最后三十行通常足够。

带着这些信息到客户端项目的 GitHub Issues 页面搜索,多数启动崩溃已有现成结论与修复版本;没有匹配结果时再提交新 issue,附上上面的清单,能显著缩短等待回复的时间。

下载最新版客户端

旧版本的已知缺陷是启动崩溃的常见诱因。下载页收录各平台仍在维护的 Clash 客户端,标注内核类型与适用架构,安装最新版可直接排除已修复的启动问题。

下载Clash