Claude Code 网络环境受限:解决方案

问题描述
在使用 Claude Code 时,如果当前网络环境被严格管控,所有外部网络请求都会被拦截,导致:
- WebFetch 失败:无法抓取任意网页内容
- WebSearch 失败:无法进行在线搜索
解决办法
方案一:在 settings.json 中授予权限
打开 ~/.claude/settings.json(即用户目录下的 .claude 文件夹内的 settings.json),添加以下配置后重启 Claude Code:
json
{
"permissions": {
"allow": [
"WebFetch",
"WebSearch"
]
}
}
方案二:跳过预检请求
在同一个配置文件中加入以下字段,作用是跳过访问前的安全预检:
json
"skipWebFetchPreflight": true
原因说明
Claude Code 在真正访问目标网页之前,会先请求 Anthropic 的服务来判断该网页是否可访问。当预检请求被本地网络安全策略拦截时,后续的 WebFetch 与 WebSearch 都会一并失败。
通过显式授权 WebFetch 和 WebSearch 权限,或直接开启 skipWebFetchPreflight 跳过预检,即可恢复对外部网页的访问。
如果只想放行特定域名,可以让 Claude 在配置中指定具体的域名白名单,而不是放开全部权限。