软件教程

Claude Code 2.1.285 实操:用环境变量关掉 WebFetch,用 allowedProviders 锁死可用供应商

给 WebFetch 装一个物理开关

Anthropic 于 9 月 29 日发布 Claude Code 2.1.285。这一版最大的变化不是模型能力,而是控制面:它把过去只能靠提示词约定的事情,变成了管理员可以直接配置的开关。最典型的一个是新增环境变量 CLAUDE_CODE_DISABLE_WEB_FETCH,设置之后 Claude Code 的 WebFetch 工具会被直接关掉。

这件事的实际意义在于合规。此前想在金融、医疗这类受监管环境里限制编码助手访问外部网页,通常只能靠镜像里剥掉出站能力,或者写提示词规则去约束,属于软限制。现在有了第一方开关,管理员在进程环境或托管设置里注入该变量即可,不再需要依赖模型自觉。

把 API 供应商锁在允许清单里

第二个变化是新增了 allowedProviders 托管设置,用来限制一台机器可以使用哪些 API 供应商。可选值覆盖 Anthropic API、自定义端点、Bedrock、Mantle、Vertex AI、Foundry、Claude Platform on AWS 与 Cloud 网关。对必须把流量固定在 Bedrock 或 Vertex 的企业镜像来说,这条设置可以在 harness 层面直接拒绝其他供应商,而不是靠文档和口头约定。

与之配套的还有一组环境变量。CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES 给非流式降级请求的超时重发次数设了上限,避免一个卡住的回退请求持续打接口;CLAUDE_CODE_RESUME_INTERRUPTED_TURN 则让 CLI 能自动重放一次因 max-turns 限制被截断的回合。前者控制成本与噪音,后者改善长会话的连续性。

三个新增能力指向同一件事:把控制权从模型交回给管理员,包括供应商白名单、WebFetch 开关与一次性写进安装命令的插件配置。

插件配置与桌面端接管

插件这条线也动了不少。claude plugin configure 现在会显示某个插件的选项以及哪些还没设置,也可以用 --values-stdin 从标准输入批量写入新值。claude plugin install --config 新增了 .= 语法,允许在安装时就把捆绑的 .mcpb MCP 服务器自身设置一并写好,装完直接可用,不必再走 /plugin 里的 Configure 流程。对做批量交付的团队来说,这一步去掉了一个手工环节。

另外新增了 claude --desktop,可以在当前目录直接打开 Claude 桌面应用,也可以配合 --continue 或 --resume 接管已有的会话,适合把终端里的自动化流程和 GUI 里的复核窗口分开的场景。除此之外,2.1.285 打包了 150 多项修复,集中在请求路径与 Remote Control 的可靠性上,例如内容过滤拦截的响应不再被反复重试、被脱敏日志泄露的 URL 密码片段,以及切换模型后输出上限未刷新的问题。

落地建议很简单:先在一个隔离环境里设置 CLAUDE_CODE_DISABLE_WEB_FETCH,用一个需要联网的提示词确认 WebFetch 确实不可用;再用 allowedProviders 把机器钉在指定后端,观察是否有插件或工作流依赖被拒的供应商。