CLI 环境变量
核对配置位置、认证、模型、非交互扩展加载和运行诊断的变量。
环境变量在启动进程前设置,适合 CI 或仅能注入环境的宿主。不同变量对布尔字符串的解释可能不同,不要把一项变量的 true / 1 支持推定到全部变量。
目录与认证
| 变量 | 作用 |
|---|---|
| COPILOT_HOME | 配置和状态目录,默认 $HOME/.copilot |
| COPILOT_CACHE_HOME | 独立缓存目录 |
| COPILOT_GITHUB_TOKEN | GitHub 认证,优先于 GH_TOKEN 和 GITHUB_TOKEN |
| GH_TOKEN、GITHUB_TOKEN | 后续令牌来源 |
| COPILOT_GH_HOST | 仅覆盖 Copilot 的 GitHub host,优先于 GH_HOST |
| GH_HOST | 同时影响 gh 与 Copilot,默认 github.com |
托管 Codespaces 令牌等例外见认证与配置。不要直接打印密钥验证优先级。
模型与任务
| 变量 | 作用 |
|---|---|
| COPILOT_MODEL | 选择模型 |
| COPILOT_PROVIDERS_CONFIG | BYOK 注册表路径 |
| COPILOT_PROVIDER_API_KEY_COMMAND | 每次请求前获取新密钥 |
| COPILOT_PLAN_THEN_AUTOPILOT | 1 / true / yes / on 请求先计划后自主执行 |
| COPILOT_TASK_WAIT_TIMEOUT_SECONDS | -p 退出前等后台任务,默认 600 秒,0 不等待 |
| COPILOT_LARGE_OUTPUT_THRESHOLD_BYTES | 直接返给模型的大输出阈值,默认 20480 UTF-8 字节 |
显式 --mode、--autopilot 或 --plan 会覆盖 PLAN_THEN_AUTOPILOT,并警告环境变量被忽略。BYOK 注册表存在有效 provider / model 时优先于旧 provider 变量,见BYOK。
非交互信任
COPILOT_ALLOW_ALL 接受 true、1、yes、on、y 等真值,忽略大小写和外围空白;但参考特别指出精确 true 还会信任工作目录并加载其中的扩展配置。不要把所有真值视作具有完全相同的目录信任效果。
| 变量设为 true | 作用 |
|---|---|
| GITHUB_COPILOT_PROMPT_MODE_EXTENSIONS | -p 加载项目 extensions 并允许扩展管理工具 |
| GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS | -p 加载仓库 Hooks |
| GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP | -p 加载工作区 MCP |
这些开关可能执行仓库提供的代码。Hooks 在目录已信任或配置允许全部时还可自动加载;MCP 已信任目录的行为见MCP 工作区配置。
扩展与维护
COPILOT_CUSTOM_INSTRUCTIONS_DIRS 和 COPILOT_SKILLS_DIRS 使用逗号分隔额外目录。COPILOT_MCP_TOOL_CACHE=false 禁用工具快照读写,但不删除旧文件。COPILOT_AUTO_UPDATE=false 关闭 CLI 与第一方插件自动更新。
COPILOT_ENABLE_INTERRUPTED_SESSION_RESTORE=1 启用目前临时 opt-in 的异常中断恢复。COPILOT_ENABLE_HTTP2=1 或 true 开启 HTTP/2,默认 HTTP/1.1。
官方参考中的差异
命令参考的环境变量表把 COPILOT_SUBAGENT_MAX_CONCURRENT 写为默认 32、范围 1–256,把 COPILOT_SUBAGENT_MAX_DEPTH 写为默认 4、范围 1–128;同页专门的 Subagent limits 则按套餐列并发最大 32、深度默认 6 / 最大 256。无法将两组数值合并为统一保证,应以所用版本、有效设置及实际拒绝提示为准。
COPILOT_EDITOR 的通用变量表写在 VISUAL、EDITOR 之后,Research 专题则把它列为优先。本文不把任一顺序外推为全部编辑入口;需要确定行为时为所用入口检查实际编辑器。
观测变量和内容采集开关见OpenTelemetry。