关于Claude Code开启sandbox沙箱之后curl命令无法访问局域网

系统环境

  • 宿主机:win11

  • WSL2:ubuntu 24.04

  • WSL 网络模式:NAT模式

  • Claude Code:2.1.81 (安装到WSL中)

  • Claude Code 沙箱配置 (~/.claude/settings.json代码片段如下)

    json 复制代码
    {
      "sandbox": {
        "enabled": true,
        "autoAllowBashIfSandboxed": true,
        "allowUnsandboxedCommands": false,
        "excludedCommands": ["docker"],
        "filesystem": {
          "allowWrite": ["//tmp/build"],
          "denyRead": ["~/.config/opencode", "~/.codex", "~/.local/share/opencode", "~/.ssh"]
        },
        "network": {
          "allowedDomains": ["github.com"],
          "allowUnixSockets": [
            "/var/run/docker.sock"
          ]
        }
      }
    }

问题现象

在 claude cli 中,执行bash命令,命令为通过 curl 访问宿主机win11局域网中的设备。

发现执行 curl 命令时总是出现关于 Uses proxy env variable no_proxy == 'localhost,127.0.0.1,::1,*.local,.local,169.254.0.0/16,10.0. 0.0/8,172.16.0.0/12,192.168.0.0/16' 的提示。导致自动化测试时失败。

问题分析

claude code 开启沙箱之后,会自动设置 NO_PROXYno_proxy,设置值为 localhost,127.0.0.1,::1,*.local,.local,169.254.0.0/16,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

另外还会设置 http_proxy=http://localhost:3128https_proxy=http://localhost:3128

我尝试了在 ~/.claude/settings.jsonenv 中设置 no_proxyNO_PROXY 为空,实际没有效果

curl 纳入 excludedCommands ,即 "excludedCommands": ["docker", "curl"] ,理论上 curl 命令就不应该在沙箱中运行了,但是实际发现仍然在沙箱中运行。查了一下 Claude Code 仓库的 issue ,发现属于官方文档中的一个bug。

该照提示进行修改,将 "excludedCommands": ["docker", "curl"] 修改为 "excludedCommands": ["docker:*", "curl:*"] 可以解决问题。

相关推荐
我不是外星人3 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
穿过生命散发芬芳10 小时前
现在CC Switch一开,Claude Code随便玩
ai编程
yuanyxh13 小时前
macOS 应用 - 纯对话生成
前端·macos·ai编程
葫芦和十三14 小时前
多模态融合|是数据形态工程,不是 Prompt 工程
openai·agent·ai编程
码哥字节14 小时前
同事做 PPT 比你快 5 倍,不是因为他努力,是因为他用了这套工具流
ai编程
沉默王二15 小时前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
程序员老刘15 小时前
跨平台开发地图 | 2026年6月
flutter·ai编程·客户端
唐老板15 小时前
给 Claude 定规则:让它写出的代码像我们团队的人写的
ai编程
Avan_菜菜1 天前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
ServBay1 天前
打通 AI 编程本地运维边界,利用 MCP 协议简化环境与服务管理
后端·ai编程·mcp