企业网络配置
通过环境变量配置代理、CA 证书和 mTLS:HTTPS_PROXY、NODE_EXTRA_CA_CERTS、客户端证书,以及验证配置和让后台智能体也生效。
Claude Code 通过环境变量支持各种企业网络和安全配置:把流量路由经过企业代理服务器、信任自定义证书颁发机构(CA),以及用双向 TLS(mTLS)证书认证。这些变量要在启动 Claude Code 之前设置:在 shell 里导出的变量只在启动时读一次,所以运行中的会话不会感知之后对 shell 环境的更改。本页所有环境变量也可以写进 settings.json。
代理配置
Claude Code 遵循标准的代理环境变量:
# HTTPS 代理(推荐)
export HTTPS_PROXY=https://proxy.example.com:8080
# HTTP 代理(没有 HTTPS 时)
export HTTP_PROXY=http://proxy.example.com:8080
# 对特定请求绕过代理(空格分隔或逗号分隔)
export NO_PROXY="localhost 192.168.1.1 example.com .example.com"Claude Code 从不把发往 localhost、::1 或 127.0.0.0/8 的 WebSocket 连接送进代理,所以不需要为它们写 loopback 的 NO_PROXY 条目。不支持 SOCKS 代理。 代理要求基本认证时,把凭据写进代理 URL(如 http://username:password@proxy.example.com:8080),但避免在脚本里硬编码密码,改用环境变量或安全的凭据存储。需要 NTLM、Kerberos 等高级认证的代理,可以考虑用支持你认证方式的 LLM 网关服务。
CA 证书存储
默认情况下,Claude Code 同时信任自带的 Mozilla CA 证书和你操作系统的证书存储。CLAUDE_CODE_CERT_STORE 接受逗号分隔的来源列表:bundled(Claude Code 自带的 Mozilla CA 集)和 system(操作系统信任存储),默认是 bundled,system。想只信任自带的 Mozilla CA 集:export CLAUDE_CODE_CERT_STORE=bundled;只信任操作系统证书存储:export CLAUDE_CODE_CERT_STORE=system。这个变量没有专门的 settings.json schema 键,要通过 ~/.claude/settings.json 的 env 块或直接在进程环境里设置。
自定义 CA 证书
企业环境使用自定义 CA 时,让 Claude Code 直接信任它:
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pemmTLS 认证
对需要客户端证书认证的企业环境:
# 用于认证的客户端证书
export CLAUDE_CODE_CLIENT_CERT=/path/to/client-cert.pem
# 客户端私钥
export CLAUDE_CODE_CLIENT_KEY=/path/to/client-key.pem
# 可选:加密私钥的口令
export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"Claude Code 在启动时读取证书和密钥文件,并在每次应用设置时(如组织在会话中途更改托管设置的 env 块)重新读取。要轮换证书和密钥,在同样的路径上替换文件即可,运行中的会话无需重启就会拿到新的:当 API 请求因连接级错误(如连接被重置)失败时,Claude Code 会重新读取文件。注意 OTLP 遥测导出器在首次使用时就加载了证书,轮换后要重启 Claude Code 才能让新证书到达遥测收集器。想关闭这种因连接错误而重读,设置 CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION=1。在云端会话里,托管环境管理到 API 的连接,所以从设置文件 env 块来的这些变量会被忽略。
验证配置
错误的代理地址或坏掉的证书路径,通常要在之后某次请求时通过连接或证书错误才发现,因为 Claude Code 不会校验其中大多数。想在发送请求之前确认配置已加载,用调试日志启动:
claude --debug调试输出写到 ~/.claude/debug/<session-id>.txt(或你用 --debug-file <path> 指定的路径)。在日志里找确认每个文件已加载的行,例如 CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (...)、mTLS: Loaded client certificate from CLAUDE_CODE_CLIENT_CERT;读不了文件时会出现 Failed to read 或 Failed to load 加原因。也可以在交互会话里运行 /status 看这几行:Proxy(显示生效的代理 URL,无法解析的值会被标为无效并忽略)、mTLS client cert 和 mTLS client key(只在文件加载成功时出现)、Additional CA cert(s)(显示 NODE_EXTRA_CA_CERTS 的路径,但不检查文件是否加载成功,要在调试日志里确认)。
让后台智能体也应用网络设置
后台智能体不在发起它们的终端里运行:一个按用户的 supervisor 进程按需启动、比你的 shell 活得更久,并承载每个 claude agents、--bg 和 /background 会话。这个 supervisor 是所有终端共享的一个进程,继承的是最先启动它的那个 shell 的环境,操作系统安装的 supervisor 则根本不接收 shell 环境。所以如果你只在 shell 里导出代理、CA 路径或 mTLS 变量,后台智能体可能拿不到。把同样的变量放进 ~/.claude/settings.json 或托管设置的 env 块:本页每个变量都能在那里设置,设置是唯一能到达每个后台会话的配置。有些组织要求每个 Claude Code 进程都通过企业启动器启动(应用沙箱、网络控制或凭据注入),用 processWrapper 设置给 supervisor、它的 worker 和其他后台进程加前缀。