Skip to content

本文是 Codex 配置文件的完整键值参考手册,涵盖 ~/.codex/config.toml.codex/config.toml 支持的所有配置项,以及企业用 requirements.toml 的管控键。配合 配置基础高级配置 使用,本文专注于"有什么键、类型是什么、默认是什么",而非使用方法。

Codex 配置项完整参考

概念说明和使用示例见 配置基础高级配置。沙箱和审批键的操作细节见 审批与沙箱

用户级配置存放在 ~/.codex/config.toml,也可以在仓库里加 .codex/config.toml 做项目级覆盖(仅受信任项目)。


核心模型选项

类型说明
modelstring默认模型(如 gpt-5.4
review_modelstring/review 使用的模型覆盖,默认用当前 session 模型
model_providerstring来自 model_providers 的 provider id,默认 openai
openai_base_urlstring内置 openai provider 的 base URL 覆盖
model_context_windownumber当前模型可用的上下文 token 数
model_auto_compact_token_limitnumber触发自动历史压缩的 token 阈值,未设置时用模型默认值
model_catalog_jsonstring (path)启动时加载的 JSON 模型目录路径,Profile 级可覆盖
oss_providerlmstudio | ollama使用 --oss 时的默认本地 provider

审批策略

类型说明
approval_policyuntrusted | on-request | never | { granular = {...} }控制 Codex 执行命令前何时暂停审批。granular 对象可对不同类型的审批请求分别设置
approval_policy.granular.sandbox_approvalbooleantrue 时允许沙箱升级审批请求弹出
approval_policy.granular.rulesbooleantrue 时允许 execpolicy prompt 规则触发的审批弹出
approval_policy.granular.mcp_elicitationsbooleantrue 时允许 MCP elicitation 提示弹出,而非自动拒绝
approval_policy.granular.request_permissionsbooleantrue 时允许 request_permissions 工具的提示弹出
approval_policy.granular.skill_approvalbooleantrue 时允许 skill 脚本审批提示弹出
approvals_revieweruser | guardian_subagent决定由谁审查审批请求,默认 user
allow_login_shellboolean允许 shell 工具使用 login shell 语义,默认 true

沙箱模式

类型说明
sandbox_moderead-only | workspace-write | danger-full-access命令执行时的文件系统和网络访问策略
sandbox_workspace_write.writable_rootsarray<string>workspace-write 模式下的额外可写目录
sandbox_workspace_write.network_accessboolean在 workspace-write 沙箱内允许出站网络
sandbox_workspace_write.exclude_tmpdir_env_varboolean在 workspace-write 模式下排除 $TMPDIR
sandbox_workspace_write.exclude_slash_tmpboolean在 workspace-write 模式下排除 /tmp
windows.sandboxunelevated | elevatedWindows 原生沙箱模式
windows.sandbox_private_desktopbooleanWindows 上在私有桌面运行最终沙箱子进程

认证与登录

类型说明
cli_auth_credentials_storefile | keyring | autoCLI 凭据存储方式,默认 file
chatgpt_base_urlstringChatGPT 登录流使用的 base URL
forced_chatgpt_workspace_idstring (uuid)限制 ChatGPT 登录到特定工作区
forced_login_methodchatgpt | api强制使用特定认证方式
mcp_oauth_credentials_storeauto | file | keyringMCP OAuth 凭据的存储方式,默认 auto
mcp_oauth_callback_portintegerMCP OAuth 回调服务器的固定端口
mcp_oauth_callback_urlstringMCP OAuth 登录的重定向 URI 覆盖

模型推理与详细程度

类型说明
model_reasoning_effortminimal | low | medium | high | xhigh推理强度,仅 Responses API 生效
plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighPlan 模式的推理强度覆盖
model_reasoning_summaryauto | concise | detailed | none推理摘要详细程度
model_verbositylow | medium | highGPT-5 Responses API 文本详细程度覆盖
model_supports_reasoning_summariesboolean强制启用或禁用推理元数据

指令覆盖

类型说明
developer_instructionsstring注入到 session 的额外开发者指令
compact_promptstring历史压缩提示的内联覆盖
commit_attributionstring覆盖 commit co-author trailer,设为空字符串禁用
model_instructions_filestring (path)替换内置指令的文件路径
experimental_compact_prompt_filestring (path)从文件加载压缩提示覆盖(实验性)

MCP Servers

类型说明
mcp_servers.<id>.commandstringMCP stdio server 的启动命令
mcp_servers.<id>.argsarray<string>传给 MCP stdio server 的参数
mcp_servers.<id>.envmap<string,string>转发给 MCP stdio server 的环境变量
mcp_servers.<id>.urlstringMCP streamable HTTP server 的端点
mcp_servers.<id>.bearer_token_env_varstringMCP HTTP server 的 Bearer token 环境变量
mcp_servers.<id>.http_headersmap<string,string>MCP HTTP 请求的静态 header
mcp_servers.<id>.enabledboolean禁用 MCP server 而不删除配置
mcp_servers.<id>.requiredbooleantrue 时若 MCP server 初始化失败则中止启动
mcp_servers.<id>.startup_timeout_secnumberMCP server 启动超时,默认 10s
mcp_servers.<id>.tool_timeout_secnumberMCP server 单个工具调用超时,默认 60s
mcp_servers.<id>.enabled_toolsarray<string>MCP server 暴露的工具允许列表
mcp_servers.<id>.disabled_toolsarray<string>在允许列表之后应用的工具拒绝列表
mcp_servers.<id>.scopesarray<string>认证时请求的 OAuth scope

子代理([agents])

类型说明
agents.max_threadsnumber最大并发 agent 线程数,默认 6
agents.max_depthnumber最大嵌套 spawn 深度(root session 从 0 开始),默认 1
agents.job_max_runtime_secondsnumberspawn_agents_on_csv 任务每个 worker 的默认超时,未设置时默认 1800s
agents.<name>.descriptionstring选择和生成该 agent 类型时展示给 Codex 的角色描述
agents.<name>.config_filestring (path)该角色的 TOML 配置层文件路径
agents.<name>.nickname_candidatesarray<string>该角色 spawn 的 agent 的可选展示昵称池

Feature Flags([features])

默认值说明
features.unified_exectrue(Windows 除外)使用统一的 PTY-backed exec 工具
features.shell_snapshottrue快照 shell 环境以加速重复命令
features.undofalse启用撤销支持
features.multi_agenttrue启用多 agent 协作工具
features.personalitytrue启用通信风格选择控件
features.shell_tooltrue启用默认 shell 工具
features.fast_modetrue启用 Fast 模式路径
features.smart_approvalsfalse将部分审批请求路由给 guardian subagent
features.appsfalse启用 ChatGPT Apps/Connectors 支持
features.codex_hooksfalsehooks.json 启用生命周期 hooks
features.prevent_idle_sleepfalse防止任务运行时机器休眠

Shell 环境变量策略

类型说明
shell_environment_policy.inheritall | core | none生成子进程时的基础环境继承策略
shell_environment_policy.ignore_default_excludesboolean保留包含 KEY/SECRET/TOKEN 的变量
shell_environment_policy.excludearray<string>移除匹配的环境变量(glob pattern)
shell_environment_policy.include_onlyarray<string>只保留匹配的变量的白名单
shell_environment_policy.setmap<string,string>注入到所有子进程的显式环境变量覆盖

Profiles(命名配置集)

类型说明
profilestring启动时应用的默认 profile
profiles.<name>.*various任意受支持配置键的 profile 级覆盖
profiles.<name>.model_catalog_jsonstring (path)profile 级模型目录覆盖
profiles.<name>.web_searchdisabled | cached | liveprofile 级联网模式覆盖
profiles.<name>.personalitynone | friendly | pragmaticprofile 级通信风格覆盖

自定义 Model Provider

类型说明
model_providers.<id>.namestringProvider 展示名称
model_providers.<id>.base_urlstringProvider API base URL
model_providers.<id>.env_keystring提供 API key 的环境变量名
model_providers.<id>.wire_apiresponsesProvider 使用的协议,responses 是唯一支持的值
model_providers.<id>.http_headersmap<string,string>Provider 请求的静态 header
model_providers.<id>.request_max_retriesnumberHTTP 请求重试次数,默认 4
model_providers.<id>.stream_max_retriesnumberSSE 流中断重试次数,默认 5
model_providers.<id>.auth.commandstring获取 Bearer token 的命令,必须将 token 打印到 stdout
model_providers.<id>.auth.timeout_msnumbertoken 命令最大运行时间(毫秒),默认 5000
model_providers.<id>.auth.refresh_interval_msnumber主动刷新 token 的间隔(毫秒),默认 300000;设为 0 只在认证失败时刷新

历史记录与文件打开器

类型说明
history.persistencesave-all | none是否保存 session 记录到 history.jsonl
history.max_bytesnumber历史文件大小上限(字节),超出时清理最旧记录
file_openervscode | vscode-insiders | windsurf | cursor | none引用链接使用的 URI scheme

TUI 选项

类型说明
tui.notificationsboolean | array<string>启用 TUI 通知;可选限定特定事件类型
tui.notification_methodauto | osc9 | bel终端通知方式,默认 auto
tui.animationsboolean启用终端动画,默认 true
tui.alternate_screenauto | always | never备用屏幕控制,默认 auto
tui.show_tooltipsboolean显示欢迎屏幕的新手引导提示,默认 true
tui.status_linearray<string> | nullTUI 底部状态栏项目列表,null 禁用
tui.terminal_titlearray<string> | null终端标题内容列表,默认 ["spinner", "project"]
tui.themestring语法高亮主题(kebab-case 名称)
hide_agent_reasoningboolean在 TUI 和 codex exec 输出中隐藏推理事件
show_raw_agent_reasoningboolean显示模型原始推理内容

OTel 遥测

类型说明
otel.environmentstringOTel 事件的环境标签,默认 dev
otel.exporternone | otlp-http | otlp-grpcOTel 日志导出器类型
otel.trace_exporternone | otlp-http | otlp-grpcOTel trace 导出器类型
otel.log_user_promptboolean在 OTel 日志里包含原始用户 prompt
analytics.enabledboolean启用或禁用匿名遥测
feedback.enabledboolean允许通过 /feedback 提交反馈,默认 true

其他配置项

类型说明
notifyarray<string>通知外部程序的命令(接收 JSON payload)
check_for_update_on_startupboolean启动时检查更新,默认 true
personalitynone | friendly | pragmatic默认通信风格
service_tierflex | fast新 turn 的首选服务层级
web_searchdisabled | cached | live联网模式,默认 cached
project_doc_max_bytesnumber读取 AGENTS.md 的最大字节数
project_root_markersarray<string>项目根目录标志文件列表
log_dirstring (path)Codex 日志文件目录
projects.<path>.trust_levelstring标记项目为受信任或不受信任

requirements.toml(企业管控)

requirements.toml 是管理员用的强制配置文件,约束用户无法覆盖的安全敏感设置。详见企业托管配置

类型说明
allowed_approval_policiesarray<string>approval_policy 的允许值(如 untrustedon-request
allowed_sandbox_modesarray<string>sandbox_mode 的允许值
allowed_web_search_modesarray<string>web_search 的允许值
featurestableconfig.toml[features] 键名固定 feature 状态
features.<name>boolean要求特定 feature 保持启用或禁用
mcp_serverstable允许启用的 MCP server 白名单(名称 + 身份必须同时匹配)
rules.prefix_rulesarray<table>管理员强制的命令前缀规则

IDE 自动补全

在 VS Code 或 Cursor 里编辑 config.toml 时,可以安装 Even Better TOML 扩展,并在 config.toml 顶部加:

toml
#:schema https://developers.openai.com/codex/config-schema.json

这样编辑时会有自动补全和类型检查。


常见问题

Q: approval_policy 的各个值分别是什么行为?

A: untrusted — 只有已知安全的只读命令可以自动运行,其他都会弹出审批;on-request — 由模型决定何时请求审批(默认,适合交互式使用);never — 从不弹出审批(无人值守场景,有风险)。

Q: requirements.toml 和 config.toml 的区别是什么?

A: config.toml 是用户/项目级配置,用户可以修改。requirements.toml 是管理员级强制约束,用户的 config.toml 不能覆盖 requirements.toml 限制的配置项。

Q: 我想接入不支持 openai provider ID 的自定义 LLM,怎么做?

A: 在 [model_providers] 下新建一个自定义 ID(不能用 openaiollamalmstudio),配置 base_url 和认证信息,然后用 model_provider = "你的id" 指向它。