使用 Clash Verge、Mihomo、OpenClash 或其他 Clash 客户端导入订阅、加载本地 YAML 配置时,有些用户会遇到类似下面的报错:

Invalid Clash YAML File

proxies and proxy-providers not found

或者:

Invalid Config

No proxies found

proxy-providers not found

配置文件无法加载

无法切换到此配置文件

这类报错通常说明:

当前导入的 YAML 文件虽然可以被读取,但里面没有找到 Clash 可以使用的 proxies 或 proxy-providers 配置。

也就是说,客户端拿到的文件可能并不是一个完整的 Clash 配置。

常见原因包括:

导入了错误的订阅格式。

订阅链接返回的不是 Clash YAML。

YAML 文件内容为空。

proxies 字段被删除。

proxy-providers 配置不完整。

订阅转换失败。

配置缩进错误。

把节点分享链接误当成 Clash 配置。

下面按照最常见的情况逐项排查。

👉获取稳定 Clash / Mihomo 订阅线路

一、Invalid Clash YAML File是什么意思?

Invalid Clash YAML File 可以理解成:

当前文件不符合 Clash 配置文件要求。

Clash 和 Mihomo 虽然使用 YAML 作为配置格式,但并不是只要文件后缀是 .yaml 或 .yml 就一定能使用。

一个正常的 Clash 配置通常需要包含一些关键结构,例如:

proxies

proxy-groups

rules

dns

proxy-providers

rule-providers

具体配置不一定全部都有,但至少需要存在可以实际使用的代理节点来源。

如果配置里既没有 proxies,也没有 proxy-providers,客户端就可能直接提示:

proxies and proxy-providers not found

二、proxies是什么?

proxies 是 Clash 配置中直接定义节点的部分。

例如一个普通配置可能包含:

proxies:

然后下面列出:

香港节点

日本节点

美国节点

新加坡节点

以及对应的:

server

port

type

password

uuid

cipher

tls

等参数。

如果配置中完全没有 proxies,那么客户端就需要通过 proxy-providers 获取节点。

三、proxy-providers是什么?

proxy-providers 可以理解成:

远程节点提供器。

它允许 Clash 不直接把所有节点写在当前 YAML 文件中,而是从另一个远程地址读取节点列表。

例如主配置负责:

规则。

代理组。

DNS。

分流逻辑。

而节点本身通过 proxy-providers 动态加载。

所以一个配置即使没有 proxies,也可能正常使用。

前提是:

proxy-providers 配置完整并且可以正常加载。

四、为什么同时提示proxies和proxy-providers都没找到?

因为客户端检查当前配置以后发现:

没有本地 proxies。

也没有远程 proxy-providers。

这意味着:

整个配置里没有任何代理节点来源。

所以即使 rules、dns、proxy-groups 写得再完整,也没有实际节点可以使用。

五、最常见原因是订阅格式选错

很多机场后台会提供多个订阅格式,例如:

Clash

Mihomo

V2Ray

Sing-box

Shadowrocket

Surge

通用订阅

如果把 V2Ray、Sing-box 或其他格式直接导入 Clash Verge,就可能出现配置结构不匹配。

所以第一步应该确认:

复制的到底是不是 Clash 或 Mihomo 订阅地址。

不要看到“订阅链接”四个字就默认所有客户端都能直接使用。

六、怎么判断拿到的是不是Clash订阅?

可以先在浏览器中打开订阅链接查看。

如果返回的是完整 YAML,通常能看到类似:

proxies:

proxy-groups:

rules:

dns:

proxy-providers:

如果打开以后看到的是:

vmess://

vless://

trojan://

ss://

一大串 Base64 文本

JSON

网页错误提示

登录页面

那么它就不一定是 Clash 可以直接使用的完整 YAML。

七、为什么订阅链接浏览器能打开,Clash还是报Invalid YAML?

因为“浏览器能打开”和“内容符合 Clash 配置格式”是两回事。

例如订阅链接返回了:

一段普通文本。

HTML网页。

登录页面。

验证码页面。

403错误内容。

服务商提示信息。

客户端仍然可能把这段内容保存下来,然后尝试当成 YAML 解析。

最后就会出现:

Invalid Clash YAML File

所以不能只判断链接能不能访问。

还要看实际返回内容。

八、订阅地址返回HTML会发生什么?

例如订阅接口异常后返回:

网站首页。

Cloudflare页面。

登录页面。

错误页面。

这类内容通常不包含:

proxies

proxy-providers

所以 Clash 加载时可能直接判断:

这不是有效 Clash 配置。

如果浏览器打开订阅后看到明显网页内容,就应该先解决订阅接口问题。

九、订阅过期会导致这个错误吗?

有可能。

部分服务商在订阅失效后,不再返回正常 YAML,而是返回:

套餐已过期。

订阅不存在。

请重新登录。

Token失效。

这种文本如果被 Clash 下载下来,就可能出现 Invalid YAML 或找不到 proxies。

所以遇到问题时也要确认:

套餐是否还有效。

订阅 Token 是否重置。

订阅地址是否已经更换。

十、重置订阅Token后旧链接还能用吗?

通常不能保证。

如果服务商后台执行过:

重置订阅。

重置 Token。

重新生成订阅地址。

旧地址可能直接失效。

这时候应该复制最新订阅链接重新导入。

不要继续使用浏览器收藏、聊天记录或者旧配置里的历史地址。

十一、YAML文件为空也会报错吗?

会。

如果配置文件只有几行内容,甚至是空文件,当然也找不到:

proxies

proxy-providers

常见原因包括:

订阅下载失败。

文件保存失败。

网络中断。

客户端缓存损坏。

订阅服务器临时异常。

所以可以先检查配置文件大小。

如果文件只有几十字节或者几百字节,就值得怀疑下载内容不完整。

十二、为什么订阅下载到一半也可能报错?

正常 Clash 配置可能有大量:

节点。

规则。

代理组。

DNS配置。

如果下载过程中连接被中断,保存下来的 YAML 可能只有前半部分。

如果恰好 proxies 部分没有完整保存,就可能导致:

配置无法识别。

遇到这种情况可以:

删除本地失败配置。

重新更新订阅。

换网络重新下载。

十三、本地YAML导入时为什么容易出现这个错误?

因为很多用户自己保存 YAML 时,会误以为:

只要复制节点名称和规则就可以。

实际上 Clash 配置有严格结构。

例如你只保存了:

proxy-groups

rules

但没有:

proxies

也没有:

proxy-providers

那么配置并没有任何实际节点来源。

客户端自然无法使用。

十四、只写proxy-groups够不够?

不够。

proxy-groups 只是代理组。

例如:

节点选择。

自动选择。

国外网站。

流媒体。

这些组最终都需要引用具体代理节点。

如果配置中只有代理组,却没有任何节点来源,就相当于:

有文件夹。

但是文件夹里什么都没有。

所以仍然会失败。

十五、proxy-groups里面有节点名称为什么还不行?

因为代理组里写的节点名称只是引用。

例如代理组中出现:

香港01

日本01

美国01

但 proxies 中并没有定义这些节点。

那么这些名称只是不存在的引用。

之后可能继续出现:

Proxy Not Found

Proxy Group Not Found

所以不能只看 proxy-groups 里有没有名字。

十六、proxies被误删怎么办?

如果原始配置本来可以使用,编辑以后突然出现:

proxies and proxy-providers not found

可以检查是不是误删了整个:

proxies:

部分。

尤其是手动编辑 YAML 时,如果一次删除了大段文本,很容易把节点列表一起删掉。

如果不确定怎么恢复,最简单的方法是:

重新导入原始订阅。

不要继续修已经损坏的配置。

十七、proxy-providers写错会出现什么情况?

如果配置依赖 proxy-providers,但 provider 定义错误,可能出现:

Provider加载失败。

节点列表为空。

远程节点无法更新。

部分情况下也可能让配置无法正常使用。

需要检查:

proxy-providers 是否存在。

URL 是否正确。

provider名称是否正确。

YAML缩进是否正常。

十八、proxy-providers和proxy-groups有什么区别?

proxy-providers负责:

提供节点。

proxy-groups负责:

组织节点。

例如:

provider提供100个节点。

proxy-group把这些节点分成:

香港组。

美国组。

自动选择组。

手动选择组。

两者不是同一个东西。

所以不能拿 proxy-groups 代替 proxy-providers。

十九、为什么订阅转换以后出现Invalid Clash YAML File?

可能是订阅转换结果异常。

例如转换服务:

没有正确读取原始订阅。

返回空配置。

只生成规则。

没有生成节点。

输出格式选择错误。

转换接口失败。

如果原始订阅可以正常使用,但转换后的地址报错,优先检查转换结果。

不要先怀疑 Clash 客户端。

二十、怎么判断是不是订阅转换问题?

可以直接做对比测试。

先导入原始 Clash 订阅。

如果原始订阅可以正常加载。

再导入转换后的订阅。

如果转换版本出现:

Invalid Clash YAML File

说明问题更可能来自转换过程。

这时候可以重新生成转换订阅,或者暂时使用原始订阅。

二十一、Base64订阅能直接导入Clash吗?

不一定。

一些通用订阅本质上是一组经过 Base64 编码的:

vmess

vless

trojan

ss

节点链接。

这种格式需要客户端或者转换服务进一步处理。

如果当前 Clash 客户端要求完整 YAML,而你直接导入原始 Base64 内容,就可能无法使用。

所以还是要优先使用服务商提供的:

Clash

Mihomo

专用订阅。

二十二、为什么同一个订阅在手机能用,Clash Verge不能用?

可能是手机客户端支持自动解析通用订阅。

例如某些客户端能自动识别:

URI节点链接。

Base64订阅。

多种格式。

而 Clash Verge 当前导入方式可能要求:

Clash YAML。

所以同一个链接在不同客户端里的兼容性不一定相同。

二十三、为什么Shadowrocket能用但Clash不能用?

Shadowrocket 和 Clash 使用的配置体系不同。

Shadowrocket 可以直接处理很多节点 URI。

而 Clash 通常更依赖完整配置结构。

所以:

Shadowrocket能导入

不代表:

这个链接就是标准 Clash YAML。

需要向服务商获取 Clash 或 Mihomo 专用订阅。

二十四、YAML缩进错误会导致这个问题吗?

会。

YAML 对缩进非常敏感。

如果原本正确的:

proxies:

被错误缩进到其他字段下面,解析器可能无法把它识别成顶层节点列表。

例如手动编辑时多加了空格或者 Tab,就可能改变整个配置结构。

所以不熟悉 YAML 时,不建议大范围手动调整缩进。

二十五、Tab和空格混用有什么影响?

YAML 通常更适合使用空格进行缩进。

如果编辑器加入 Tab,可能导致解析失败或者层级识别异常。

所以自己修改 Clash YAML 时,尽量保持:

统一空格。

统一缩进层级。

不要使用 Word 或富文本编辑器修改 YAML。

二十六、文件后缀必须是.yaml吗?

通常 .yaml 和 .yml 都很常见。

真正决定能不能使用的不是后缀,而是文件内容。

即使文件叫:

config.yaml

里面如果只是普通文本,也不能变成有效 Clash 配置。

反过来,只要客户端能够正确读取,内容结构才是关键。

二十七、为什么把节点分享链接保存成yaml也不行?

例如你有:

vless://xxxxx

然后保存成:

config.yaml

这并不会自动把它转换成 Clash 配置。

文件后缀只是文件名的一部分。

它不会改变数据结构。

需要真正转换成 Clash 可以识别的 YAML 格式。

二十八、Invalid Clash YAML和Cannot Unmarshal有什么区别?

Invalid Clash YAML 更偏向:

整个文件缺少 Clash 需要的关键结构。

例如:

没有 proxies。

没有 proxy-providers。

文件不是 Clash 配置。

Cannot Unmarshal 更偏向:

配置结构已经被解析,但某个字段的数据类型错误。

例如:

本来应该是字符串。

结果写成数组。

所以两者排查方向不同。

二十九、这个错误和Unsupported Proxy Type有什么区别?

Unsupported Proxy Type 表示:

节点已经被读取到了。

但是节点协议不被当前内核支持。

例如:

AnyTLS

VLESS

MACC

而:

proxies and proxy-providers not found

表示:

客户端连可用节点来源都没有找到。

所以不是协议兼容问题。

三十、这个错误和Proxy Not Found有什么区别?

Proxy Not Found 一般表示:

规则或者代理组引用了一个不存在的节点或代理组。

而 Invalid Clash YAML 更早一步:

配置里可能根本没有有效节点来源。

所以如果当前已经提示:

proxies and proxy-providers not found

先解决配置结构问题。

不用先修具体代理组。

三十一、这个错误和Failed to Fetch Remote Profile一样吗?

不一样。

Failed to Fetch Remote Profile 主要表示:

远程配置没有成功下载。

而 Invalid Clash YAML File 表示:

文件可能已经下载下来了,但内容不是有效的 Clash 配置。

简单理解:

Failed to Fetch Remote Profile 是“没拿到文件”。

Invalid Clash YAML 是“拿到了,但文件不能用”。

三十二、浏览器下载的YAML为什么和Clash下载的不一样?

可能和:

请求头。

Cookie。

登录状态。

代理状态。

订阅鉴权。

服务商接口。

有关。

浏览器可能因为已经登录账号而拿到正常内容。

Clash 客户端直接请求时,则可能拿到:

401。

403。

登录页面。

错误文本。

所以如果出现差异,需要确认订阅链接是否需要额外登录状态。

正常订阅链接通常应该能独立访问。

三十三、403会导致Invalid YAML吗?

可能。

如果服务端返回一个 HTML 格式的 403 页面,而 Clash 把它当配置文件处理,就可能出现:

Invalid YAML

或者:

proxies not found

所以查看返回内容非常重要。

如果看到:

403 Forbidden

就应该先解决订阅访问问题。

三十四、订阅被限流会出现这种情况吗?

有可能。

部分订阅服务器会限制:

请求频率。

IP。

User-Agent。

短时间重复刷新次数。

如果返回异常内容,客户端就可能无法解析。

这种情况下可以:

等待一段时间。

不要连续重复刷新。

重新复制订阅。

更换网络测试。

三十五、怎么最快判断文件有没有proxies?

直接打开 YAML 文件搜索:

proxies:

如果搜索不到,再搜索:

proxy-providers:

如果两个都完全没有,就已经很接近错误原因。

但也要注意:

搜索到了字段,不代表内容一定正确。

还需要确认:

缩进。

层级。

内容。

格式。

三十六、proxies存在但为空怎么办?

例如:

proxies: []

这种配置表示:

proxies 存在。

但里面没有任何节点。

如果同时也没有可用 proxy-providers,那么仍然没有实际代理节点。

所以检查时不能只看字段名称。

还要确认节点列表确实有内容。

三十七、proxy-providers存在但为空怎么办?

同样如此。

如果配置中只是写了:

proxy-providers: {}

也没有任何 provider 定义,那么实际上仍然没有节点来源。

需要确认 provider 下有真实内容。

三十八、导入本地YAML最稳妥的方法是什么?

如果本地配置来自机场订阅,建议优先:

直接保存服务商生成的完整 Clash YAML。

不要自己删除不认识的字段。

不要只复制 rules。

不要只复制 proxy-groups。

导入前确认至少包含节点来源。

三十九、修改规则时怎么避免把proxies删掉?

最好只修改明确知道用途的部分。

例如只调整:

rules。

dns。

proxy-groups。

不要使用全选替换的方式操作整个配置。

修改前可以保留一份原始 YAML。

出现问题以后直接对比。

四十、重装Clash Verge能解决吗?

通常不能直接解决。

如果你重新安装以后还是导入同一份错误 YAML,那么结果仍然会是:

Invalid Clash YAML File

所以在重装客户端之前,更应该先确认:

订阅格式。

配置内容。

proxies。

proxy-providers。

四十一、升级Mihomo内核能解决吗?

通常不是首要方案。

如果配置本身根本没有 proxies 或 proxy-providers,升级内核也不会自动生成节点。

只有在旧内核不支持某些配置格式时,升级才可能相关。

当前报错重点仍然是:

配置文件内容。

四十二、修改DNS有用吗?

一般没用。

DNS负责域名解析。

而 Invalid Clash YAML File 属于:

配置文件解析和结构问题。

所以修改:

DoH。

Fake-IP。

Nameserver。

DNS Hijack。

通常不能解决。

四十三、开启TUN有用吗?

通常也没有。

TUN只有在 Clash 成功加载配置并启动以后才有意义。

如果配置文件都无法加载,TUN根本还没有进入正常工作阶段。

所以不要把这类错误和 TUN 混在一起排查。

四十四、最简单的修复方法是什么?

如果你使用的是机场订阅,最简单的操作通常是:

第一步,登录机场后台。

第二步,重新复制 Clash 或 Mihomo 专用订阅。

第三步,在 Clash Verge 中删除当前失败配置。

第四步,重新添加最新订阅链接。

第五步,更新订阅。

第六步,再切换配置文件。

如果新订阅能够正常加载,说明之前的链接或者配置内容已经异常。

四十五、如果重新导入还是报错怎么办?

继续确认:

浏览器打开订阅返回什么内容。

有没有 proxies。

有没有 proxy-providers。

是否返回 HTML。

是否返回错误提示。

订阅是否过期。

是否使用了错误格式。

如果原始接口本身返回错误内容,需要从订阅提供方解决,而不是继续修改 Clash。

四十六、服务商后台有Clash和Mihomo两个订阅选哪个?

如果当前客户端使用 Mihomo 内核,通常优先使用服务商明确标注的:

Mihomo

Clash Meta

Clash Verge

兼容订阅。

如果服务商只有 Clash 订阅,则使用官方提供的 Clash 格式即可。

不要随便选择其他客户端格式。

四十七、如何确认当前配置已经修复?

修复以后应该能够:

正常切换配置。

看到代理组。

看到节点列表。

节点能够进行延迟测试。

日志不再提示 Invalid Clash YAML File。

这时候再继续测试:

系统代理。

TUN。

网页访问。

四十八、Invalid Clash YAML File最快排查顺序

第一步,确认完整报错是不是:

proxies and proxy-providers not found。

第二步,确认使用的是 Clash 或 Mihomo 订阅。

第三步,在浏览器中查看订阅返回内容。

第四步,搜索:

proxies:

第五步,再搜索:

proxy-providers:

第六步,确认字段不为空。

第七步,检查 YAML 缩进。

第八步,关闭订阅转换重新测试原始订阅。

第九步,重新复制最新订阅地址。

第十步,重新导入配置。

如果原始订阅仍然没有 proxies 和 proxy-providers,再联系订阅提供方确认格式。

四十九、常见问题

Invalid Clash YAML File是什么意思?

表示当前文件不符合 Clash 配置要求,客户端无法找到正常的节点或配置结构。

proxies and proxy-providers not found是什么意思?

表示配置中既没有直接定义代理节点,也没有远程节点提供器。

是不是节点全挂了?

不是。这类错误通常发生在配置加载阶段,不等于节点服务器全部失效。

为什么Shadowrocket能用,Clash Verge不能用?

可能因为使用的是通用节点订阅,而不是完整 Clash YAML。不同客户端支持的订阅格式不同。

修改DNS能解决吗?

一般不能。它属于配置结构问题,不是DNS问题。

开启TUN能解决吗?

不能。配置文件还没有加载成功时,TUN并不能解决 YAML 结构问题。

需要升级Mihomo吗?

通常不是第一选择。先确认配置里有没有有效 proxies 或 proxy-providers。

重新安装客户端有用吗?

如果继续导入同一份错误配置,一般没有用。

最简单的处理方式是什么?

重新获取服务商提供的 Clash 或 Mihomo 专用订阅,然后重新导入。

总结

Clash提示 Invalid Clash YAML File、proxies and proxy-providers not found 时,核心问题通常不是节点Timeout,也不是DNS或者TUN。

真正需要确认的是:

当前导入的文件到底是不是有效的 Clash YAML。

一个可用配置必须有实际节点来源。

节点可以直接写在 proxies 中。

也可以通过 proxy-providers 远程加载。

如果两者都不存在,Clash 就没有任何节点可以使用。

遇到这类报错时,优先检查:

订阅格式是否选错。

订阅链接是否返回HTML或错误页面。

proxies是否存在。

proxy-providers是否存在。

YAML缩进是否损坏。

订阅转换是否失败。

Token是否已经重置。

最稳妥的方法通常不是反复修改DNS、TUN或者重装Clash Verge,而是重新获取一份正确的 Clash 或 Mihomo 专用订阅。

只要恢复有效的 proxies 或 proxy-providers,Invalid Clash YAML File 这类问题通常就可以进一步解决。

相关阅读