背景
最近在使用ClaudeCode的时候,发现经常出现一个WebFetch问题。
1 | Fetch(https://www.baidu.com) |
这会导致ClaudeCode的联网相关功能异常,例如爬取网业内容、根据远端配置进行判断等需要访问远端的相关功能。(我遇到的问题是ClaudeCode想参考别的网站的设计时,无法打开参考目标网站。)
问题
[[BUG] WebFetch "Unable to verify domain is safe" error]: https://github.com/anthropics/claude-code/issues/6388?utm_source=chatgpt.com
核心原因是:Claude Code 的 WebFetch 工具在防火墙限制严格的企业环境中无法正常工作,即使目标域名可以访问。该工具需要互联网访问权限进行claude.ai/api/web/domain_info域名验证,而企业安全策略通常会阻止这种访问
WebFetch流程图
- 域名验证:WebFetch 调用
https://claude.ai/api/web/domain_info?domain=<target_domain> - 响应检查:预期
{"domain":"<domain>","can_fetch":true} - 内容获取:仅当验证成功后才继续
- 处理过程:将 HTML 转换为 Markdown 并应用用户提示
所以WebFetch的时候,会先去claude那边对访问目标的域名进行验证。(感觉是为了安全着想,怕你访问到一些有毒的网站)
但是在国内,https://claude.ai 这个域名通常都会被屏蔽掉,除非你代理ClaudeCode的流量。所以即使目标网站本身可以正常访问,但是WebFetch还是会失败。
解决方案
在你自己的~\.claude\settings.json里配置一行:
1 | { |
配置后记得保存文件,在重启ClaudeCode 后(重新打开ClaudeCode客户端即可),再次测试后生效。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 MukPun!
评论
