Site owner avatar
Claude 搜索网页报错:Unable to verify if domain is safe to fetch 的解决方法

Claude 搜索网页报错:Unable to verify if domain is safe to fetch 的解决方法

517 字
2 分钟
AI 摘要

正在生成中...

用 Claude 搜索网页内容的时候,经常会遇到这样的报错:

text
Unable to verify if domain segmentfault.com is safe to fetch.
This may be due to network restrictions or enterprise security policies blocking claude.ai.

提示无法搜索,WebFetch 完全用不了。这篇文章记录一下原因和解决方案。

问题本质:WebFetch 抓取前的域名预检

WebFetch 在抓取目标网站之前,会先请求一次安全校验接口:

text
https://claude.ai/api/web/domain_info?domain=<目标域名>

也就是先问一下 claude.ai:"这个域名安全吗?"确认安全之后才会真正去抓取目标页面。

问题就出在这里:如果你的网络环境中 claude.ai 被墙、被运营商拦截,或者被企业防火墙拦截,这一步预检请求根本发不出去,于是无论目标网站(比如 segmentfault.com)本身能不能正常访问,WebFetch 都会直接报错。

即使你开了全局代理,只要代理没有正确处理对 claude.ai 的请求,预检依然会失败——因为这一步请求的是 claude.ai,而不是目标网站本身。

所以报错信息里那句 "network restrictions or enterprise security policies blocking claude.ai" 说的就是真实原因,不是吓唬人的。

解决方案:跳过预检

Claude Code 实际提供了一个配置项来跳过这一步域名预检,在 settings.json 里加一行:

json
{
// ...
"skipWebFetchPreflight": true
}

配置之后,WebFetch 不再请求 domain_info 预检接口,直接抓取目标网页,报错就不会再出现了。

settings.json 在哪

Claude Code 的配置文件在:

  • WindowsC:\Users\<你的用户名>\.claude\settings.json
  • macOS / Linux~/.claude/settings.json

没有这个文件就手动创建一个,把上面的配置写进去即可。也可以直接用命令打开:

bash
claude config set -g skipWebFetchPreflight true

参考

最后

简单总结一下排查思路:

  • 报错提到 blocking claude.ai → 说明是预检请求被网络环境拦截,而不是目标网站的问题。
  • 目标网站本身能访问、能 curl,但 Claude 搜不了 → 基本就是预检这步挂了。
  • 一行 skipWebFetchPreflight: true 跳过预检,是最直接有效的解法。

如果跳过预检之后仍然报错,那就要检查代理规则是否覆盖了 claude.ai 域名,或者换一个能正常访问 claude.ai 的网络环境了。

文章标题:Claude 搜索网页报错:Unable to verify if domain is safe to fetch 的解决方法

文章作者:Ditto

文章链接:https://blog.blueke.top/posts/claude-skip-web-fetch-preflight[复制]

发布时间2026 年 08 月 03 日 12:50


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。

1 / 1