CLAUDE_CODE_* 变量(P 到 W)
以 CLAUDE_CODE_P 到 CLAUDE_CODE_W 开头的环境变量:插件、PowerShell 与 shell、提示缓存、代理、会话恢复与重试、安全模式、跳过认证、子智能体、插件与 Skill 同步、WebFetch 与工作流。
取值约定与总览一致;默认值、上限和版本要求以官方为准。
P:插件、提示缓存与代理
| 变量 | 用途 |
|---|---|
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE | 1:有新版本时让 Claude Code 在后台运行你的包管理器的升级命令(适用于 Homebrew 和 WinGet 安装) |
CLAUDE_CODE_PERFORCE_MODE | 1:启用感知 Perforce 的写保护:目标文件缺少所有者写位时,Edit、Write、NotebookEdit 失败并给出 p4 edit <file> 提示 |
CLAUDE_CODE_PLUGIN_CACHE_DIR | 覆盖插件根目录(尽管名字叫 cache,它设置的是父目录,市场和插件缓存位于其子目录) |
CLAUDE_CODE_PLUGIN_DIRS | 本会话要加载的插件目录,各自按 --plugin-dir 的方式加载;Unix 用 :、Windows 用 ; 分隔,每个路径要给绝对路径 |
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS | 克隆或刷新插件市场的超时(默认 120000 毫秒),大仓库或慢网络时调大 |
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE | 1:市场刷新连不上或无法认证远端时,跳过重新克隆、继续使用已有的市场检出(离线环境有用) |
CLAUDE_CODE_PLUGIN_PREFER_HTTPS | 1:把 GitHub owner/repo 简写源用 HTTPS 而不是 SSH 克隆,适用于插件安装更新和 /plugin marketplace add、update |
CLAUDE_CODE_PLUGIN_SEED_DIR | 一个或多个只读插件种子目录(Unix 用 :、Windows 用 ; 分隔),用于把预填充的插件目录打进容器镜像 |
CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY | 1:为工具调用、Hook 和状态栏命令派生 PowerShell 时不再传 -ExecutionPolicy Bypass,而是遵循机器的有效执行策略 |
CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS | -p 非交互模式里,最后一个回合之后等待后台子智能体和工作流的空闲等待上限(毫秒) |
CLAUDE_CODE_PROCESS_WRAPPER | 让 Claude Code 从自己的二进制启动的进程(如托管智能体视图会话的后台服务)经由一个以 argv 前缀给出的企业启动器启动 |
CLAUDE_CODE_PROJECT_DIR_NAME | 与 CLAUDE_CONFIG_DIR 一起设置,选择该会话的转录和自动记忆存放的 projects/ 目录名,取代由工作目录推导出的名字 |
CLAUDE_CODE_PROMPT_CACHE_TTL | 只接受 5m 或 1h:为主对话(交互、-p、SDK 回合及其帮手)选择提示缓存 TTL |
CLAUDE_CODE_PROPAGATE_TRACEPARENT | 1:ANTHROPIC_BASE_URL 指向自定义代理时传播 W3C trace context(模型和 HTTP MCP 请求上的 traceparent 头等) |
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST | 由嵌入 Claude Code 并代管模型服务商路由的宿主平台设置;设置后 Claude Code 忽略服务商选择、端点和认证变量 |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS | 1:允许代理而不是调用方做 DNS 解析,用于应让代理处理主机名解析的环境 |
R:云会话、会话恢复与重试
| 变量 | 用途 |
|---|---|
CLAUDE_CODE_REMOTE | 作为云会话运行时自动设为 true,Hook 或 setup 脚本可据此判断是否在云会话里 |
CLAUDE_CODE_REMOTE_SESSION_ID | 云会话里自动设为当前会话 ID,可用来构造指回会话转录的链接 |
CLAUDE_CODE_RESTRICTED | 1:以受限模式启动,同 --restricted;设置文件 env 块里的该变量被忽略 |
CLAUDE_CODE_RESUME_INTERRUPTED_TURN | 1:上一会话在回合中途结束时自动恢复,用于 SDK 模式让模型继续而无需 SDK 重发提示 |
CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS | 中途结束的会话在恢复时要自动继续,其最后一条转录消息的最大年龄(毫秒);更旧就不自动继续 |
CLAUDE_CODE_RESUME_PROMPT | 覆盖 Claude Code 在继续中断的回合时发给 Claude 的续接消息(不重发原提示的情形) |
CLAUDE_CODE_RETRY_WATCHDOG | 1:用于无人值守会话(评测框架、CI、远程 worker),无限期重试 429 和 529 容量错误,而不是在 CLAUDE_CODE_MAX_RETRIES 次之后失败 |
S:安全模式、shell、认证跳过与子智能体
| 变量 | 用途 |
|---|---|
CLAUDE_CODE_SAFE_MODE | 1:以安全模式启动:不加载 CLAUDE.md、Skill、插件、Hook、MCP 服务器、自定义命令和智能体、输出样式、工作流、自定义主题、自定义键位、状态栏等 |
CLAUDE_CODE_SCRIPT_CAPS | 设置了 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 时,限制特定脚本每会话可调用次数的 JSON 对象;键是匹配命令文本的子串 |
CLAUDE_CODE_SCROLL_SPEED | 全屏渲染里鼠标滚轮的滚动倍数,接受不超过 20 的任何正值(含 0.5 这样的小数,用来减慢加速的触控板滚动) |
CLAUDE_CODE_SEND_FEEDBACK | 0:关闭本会话里 Claude 起草的反馈;1:在你的账号已有权限处开启(变量本身不能授予权限) |
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS | 覆盖 SessionEnd Hook 的时间预算(毫秒),该值也是没有自己 timeout 的 Hook 的超时 |
CLAUDE_CODE_SESSION_ID | 在 Bash 和 PowerShell 工具子进程、Hook 命令子进程和 stdio MCP 服务器子进程里自动设为当前会话 ID |
CLAUDE_CODE_SHELL | 设置 Claude Code 运行 Bash 工具命令所用的 shell,接受 bash 或 zsh 二进制路径(如 /opt/homebrew/bin/bash),不支持 fish 等其他 shell |
CLAUDE_CODE_SHELL_PREFIX | 包装 Claude Code 派生的 shell 命令(Bash 工具调用、Hook 命令、状态栏命令、stdio MCP 服务器启动命令)的命令前缀 |
CLAUDE_CODE_SIMPLE | 1:用最小系统提示运行,只有 Bash、文件读取和文件编辑工具(--mcp-config 的 MCP 工具仍可用),并禁用 Hook 等的自动发现 |
CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT | 1:在任何模型上使用更短的系统提示和简写的工具描述;0/false/no/off 则即使实验或服务端开关开启也退出 |
CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH | 跳过 Claude Platform on AWS 的客户端认证(给自己签名请求的网关) |
CLAUDE_CODE_SKIP_AWS_CRED_CACHE | 1:关闭对 AWS 默认凭证提供链解析结果的进程内缓存,每个 API 请求都重新解析 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | 跳过 Bedrock 的 AWS 认证(如使用 LLM 网关时) |
CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS | 1:把失败的 fast mode 可用性检查视为可用,用于屏蔽该检查直连 api.anthropic.com 的网络 |
CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK | 1:跳过客户端 fast mode 可用性检查,用于拦截而不是拒绝该检查请求的代理(API 仍会拒绝不被允许的 fast mode 请求) |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH | 跳过 Foundry 的 Azure 认证,用于自己注入 Authorization 头的代理或网关 |
CLAUDE_CODE_SKIP_MANTLE_AUTH | 跳过 Bedrock Mantle 的 AWS 认证(如使用 LLM 网关时) |
CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY | Bedrock 和 Agent Platform 上的启动模型检查会在本机记住「发现账号不能调用哪些模型」最多一天;1 关闭这种记忆 |
CLAUDE_CODE_SKIP_PROMPT_HISTORY | 1:不把提示历史和会话转录写到磁盘;这样启动的会话不出现在 --resume、--continue 或上箭头历史里 |
CLAUDE_CODE_SKIP_VERTEX_AUTH | 跳过 Agent Platform 的 Google 认证(如使用 LLM 网关时) |
CLAUDE_CODE_STARTUP_FAILURE_RESULTS | 1:用 --output-format stream-json 启动的会话,对本会静默结束的启动失败写一条说明 Claude Code 为何拒绝启动的结果消息 |
CLAUDE_CODE_STOP_HOOK_BLOCK_CAP | Stop 或 SubagentStop Hook 连续阻止回合结束的最大次数,超过后 Claude Code 覆盖它并结束回合(默认 8,0 取消该上限,细节见官方) |
CLAUDE_CODE_SUBAGENT_MODEL | 没有以其他方式分配模型的子智能体、智能体团队队友和工作流智能体的默认模型,接受 haiku 这样的别名或完整模型名 |
CLAUDE_CODE_SUBAGENT_MODEL_FORCE | 1:把同一个模型强制用于子智能体、队友和工作流智能体(需要 v2.1.257+) |
CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL | 只接受 5m 或 1h:为主对话之外的请求(子智能体、工作流、后台工作)选择提示缓存 TTL |
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB | 1:从子进程环境(Bash 工具、Hook、MCP stdio 服务器)里剥掉凭证:Anthropic 和云服务商凭证以及 Claude Code 识别的其他敏感变量 |
CLAUDE_CODE_SYNC_PLUGIN_INSTALL | 1:非交互(-p)模式下等插件安装完成再执行第一个查询(否则插件在后台安装,可能在第一轮不可用) |
CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS | 同步插件安装的超时(毫秒),超过则不带插件继续并记录错误;没有默认值 |
CLAUDE_CODE_SYNC_SKILLS | 1:-p 非交互模式下让 Claude Code 在该次运行里下载你 claude.ai 账号里启用的 Skill 并等待列表 |
CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS | 基于 Agent SDK 的应用在会话中途重载 Skill 时,Skill 重新同步的超时(默认 30000 毫秒) |
CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS | 设置了 CLAUDE_CODE_SYNC_SKILLS 时,第一个查询等待初始 Skill 列表的超时(默认 5000 毫秒) |
CLAUDE_CODE_SYNTAX_HIGHLIGHT | false:禁用 diff 输出里的语法高亮(颜色干扰终端设置时) |
T 到 W:任务、临时目录、服务商开关与 WebFetch
| 变量 | 用途 |
|---|---|
CLAUDE_CODE_TASK_LIST_ID | 跨会话共享任务列表:在多个 Claude Code 实例里设同一个 ID 来协调共享的任务列表(需要会话里有任务工具) |
CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS | 覆盖非交互会话在退出时等待其智能体团队收尾的毫秒数,接受 1000 到 60000,范围外的值被忽略 |
CLAUDE_CODE_TMPDIR | 覆盖内部临时文件使用的临时目录(Unix 上追加 /claude-{uid}/,Windows 上 /claude/) |
CLAUDE_CODE_TMUX_TRUECOLOR | 设为任意非空值(如 1)允许在 tmux 里输出 24 位真彩色;设为 0 或 false 仍然允许,与多数开关变量不同 |
CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE | Linux 和 WSL:逗号分隔的、不计入工具内存上限的进程种类(如 mcp、lsp);none 对所有种类都限制 |
CLAUDE_CODE_TOOL_MEMORY_LIMIT | Linux 和 WSL:设为 4G 这样的大小,限制 Bash 和 PowerShell 工具命令(v2.1.246+ 还有 Monitor 工具命令)能使用的内存 |
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS | Claude Code 取消它转发给远程客户端(Remote Control 或 SDK 宿主)的对话框、或被挂起的跨会话消息的审批对话框之前的期限(毫秒) |
CLAUDE_CODE_USE_ANTHROPIC_AWS | 使用 Claude Platform on AWS |
CLAUDE_CODE_USE_BEDROCK | 使用 Amazon Bedrock |
CLAUDE_CODE_USE_FOUNDRY | 使用 Microsoft Foundry |
CLAUDE_CODE_USE_MANTLE | 使用 Amazon Bedrock Mantle 端点 |
CLAUDE_CODE_USE_VERTEX | 使用 Google Cloud 的 Agent Platform |
CLAUDE_CODE_USE_NATIVE_FILE_SEARCH | 1:用 Node.js 文件 API 而不是 ripgrep 发现自定义命令、子智能体和输出样式(附带的 ripgrep 不可用或被阻止时) |
CLAUDE_CODE_USE_POWERSHELL_TOOL | 控制 PowerShell 工具:没有 Git Bash 的 Windows 上自动启用,设 0 禁用;装有 Git Bash 的 Windows 上默认行为取决于账号类型,1 强制启用 |
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS | WebFetch 缓存每个已抓取 URL 响应的毫秒数(默认 900000,即 15 分钟),只接受纯数字 |
CLAUDE_CODE_WEBFETCH_DEADLINE_MS | WebFetch 等待页面下载(含重定向)的毫秒上限,超时的下载以截止错误失败 |
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS | 单次工作流运行同时执行多少个智能体,1 到 256(默认最多 16,CPU 少时更少,多余的排队) |
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS | 工作流智能体在发出自己的第一个请求之前,等待同前缀兄弟的首个响应开始的毫秒上限(用于缓解扇出时同时冷启动缓存) |