用环境变量关掉 WebFetch
Claude Code 2.1.285 增加环境变量 CLAUDE_CODE_DISABLE_WEB_FETCH,用来关掉 WebFetch 工具。发行说明没有写它同时关掉网页搜索,也没有写设成 0 是否等于不关。已在上下文里的链接文字不受这把开关描述。

Claude Code 2.1.285 增加了环境变量 CLAUDE_CODE_DISABLE_WEB_FETCH。发行说明只有一句:用它关掉 WebFetch 工具。CLAUDE_CODE_DISABLE_WEB_FETCH 的名字指向的是抓取网页的那个工具,不是整个网络栈。说明没有写必须设成 1 还是任意非空值,也没有写设成 0 会不会仍被当成关闭。
它不代替网页搜索那条 400
2.1.282 修过无法解密的网页搜索结果让后续请求全部 400,见 网页搜索 400。那是历史里的搜索结果块。WebFetch 是按 URL 去取页面。关掉 WebFetch 不会删掉已经写进记录的搜索块,也没有被说明成网页搜索的开关。要停的是模型再去拉一个链接,用这个变量。要清的是旧的搜索 400,仍看那一版的修复,而不是只加这一行环境变量。
工具结果的缓存时间是另一项配置,见 WebFetch 缓存 TTL。缓存 TTL 决定抓过的页面多久再抓。本变量决定工具还在不在。两个都配过的会话,先分清是「工具没了」还是「工具还在、只是命中缓存」。
组织策略还没载入时的另一道限制
同一版还写:Team、Enterprise,以及 Claude Code 判断不出登录套餐的会话,如果启动时没能载入组织策略,会先不提供 WebFetch,直到策略载入。那是策略未就绪时的暂时 withholding,不是你导出了 CLAUDE_CODE_DISABLE_WEB_FETCH。策略载入之后,这道暂时限制按说明会放开。环境变量若仍设着,工具继续保持关闭。排错时看变量是否存在,再看会话是不是还停在「策略没载入」。
发行说明没有写这个变量必须放在用户设置、项目设置还是启动环境。项目 env 在启动环境已经设过同名变量时会被忽略,这是更早版本就有的规则,本版没有改写它。CI 里导出变量、本机交互会话不导出,两边工具列表会不一样。关掉之后模型仍可以读你贴进对话的网页正文。变量管的是工具调用,不擦掉已经在上下文里的文字。需要连抓取带历史一起停,还得换会话或删掉那几条消息,单设变量不够。