Codex 會從多個位置讀取組態。您的個人預設值儲存在 ~/.codex/config.toml,也可以透過 .codex/config.toml 檔案新增專案覆寫設定。基於安全考量,Codex 只會在您信任專案時,載入該專案的 .codex/ 組態層。
Codex 設定檔
Codex 會將使用者層級的組態儲存在 ~/.codex/config.toml。若要讓設定僅適用於特定專案或子資料夾,請在程式碼庫中新增 .codex/config.toml 檔案。
若要從 Codex IDE 擴充功能開啟設定檔,請選取右上角的齒輪圖示,然後選取 Codex 設定 > 開啟 config.toml。
CLI 和 IDE 擴充功能共用相同的組態層。您可以透過這些組態層執行下列操作:
組態優先順序
Codex 會依下列順序決定設定值(優先順序由高至低):
- CLI 旗標與
--config覆寫設定 - 專案設定檔:
.codex/config.toml,由專案根目錄往下依序套用至目前工作目錄(距目前工作目錄最近者優先;僅限受信任的專案) - 使用
--profile profile-name選取的設定檔(~/.codex/profile-name.config.toml) - 使用者設定:
~/.codex/config.toml - 雲端管理的
config.toml預設值(若已提供給目前登入的工作區) - 系統組態(若有):Unix 上的
/etc/codex/config.toml - 內建預設值
依據上述優先順序,在 config.toml 中設定共用預設值,讓設定檔只需指定不同的值。
雲端管理的組態與系統組態可用來定義外掛程式市集,並設定
是否預設啟用外掛程式。這些設定與強制執行的 requirements.toml
政策各自獨立。請參閱設定外掛程式市集與預設值。
若將專案標記為不受信任,Codex 會略過專案範圍的 .codex/ 組態層,包括專案本機的組態、掛勾與規則。使用者與系統組態仍會載入,包括使用者層級及全域的掛勾與規則。
如需透過 -c/--config 進行單次覆寫設定的說明(包括 TOML 引號規則),請參閱進階設定。
在受管理的機器上,組織也可能透過
requirements.toml 強制施加限制(例如禁止使用 approval_policy = "never" 或
sandbox_mode = "danger-full-access")。請參閱受管理的
組態與管理員強制執行的
要求。
常用組態選項
以下是幾個最常調整的選項:
預設模型
選擇 Codex 在 CLI 和 IDE 中預設使用的模型。
model = "gpt-5.6"核准提示
控制 Codex 在哪些情況下會先暫停並要求核准,再執行產生的指令。
approval_policy = "on-request"
如需瞭解 on-request 與 never 的行為差異,請參閱執行時不顯示核准提示與常見的沙盒與核准組合。若現有組態使用 approval_policy = "untrusted",請參閱從已停用的 untrusted 核准政策遷移。
沙盒層級
調整 Codex 執行指令時對檔案系統與網路的存取範圍。
sandbox_mode = "workspace-write"
如需瞭解各模式的行為(包括受保護的 .git/.codex 路徑與網路預設值),請參閱沙盒與核准、可寫入根目錄中的受保護路徑與網路存取。
權限設定檔
Codex 也支援具名的權限設定檔,讓您重複使用檔案系統與
網路政策。內建設定檔包括 :read-only、:workspace 與
:danger-full-access。自訂設定檔使用 [permissions.<name>] 表格,並搭配
相符的 default_permissions 值。請參閱權限。
Windows 沙盒模式
在 Windows 上原生執行 Codex 時,請在 windows 表格中將原生沙盒模式設為 elevated。只有在沒有系統管理員權限,或提升權限的設定程序失敗時,才使用 unelevated。
[windows]
sandbox = "elevated" # Recommended
# sandbox = "unelevated" # Fallback if admin permissions/setup are unavailable
網頁搜尋模式
Codex 預設會為本機對話啟用網頁搜尋,並從網頁搜尋快取提供結果。此快取是由 OpenAI 維護的網頁結果索引,因此快取模式會傳回已建立索引的結果,而非即時擷取網頁。這可降低接觸任意即時內容中提示注入的風險,但您仍應將網頁結果視為不受信任的資料。若使用 --yolo 或其他完整存取權沙盒設定,網頁搜尋預設會提供即時結果。請使用 web_search 選擇模式:
"cached"(預設)會從網頁搜尋快取提供結果。"indexed"僅允許通過搜尋索引存取檢查的請求存取外部網頁。"live"會從網頁擷取最新資料(與--search相同)。"disabled"會關閉網頁搜尋工具。
web_search = "cached" # default; serves results from the web search cache
# web_search = "indexed" # gate external web access through the search index
# web_search = "live" # fetch the most recent data from the web (same as --search)
# web_search = "disabled"
推理強度
若模型支援,可調整其投入的推理強度。
model_reasoning_effort = "high"
溝通風格
為支援此功能的模型設定預設溝通風格。
personality = "friendly" # or "pragmatic" or "none"
您之後可以在進行中的工作階段使用 /personality 覆寫此設定,或在使用 app-server API 時,針對個別討論串或回合覆寫。
TUI 按鍵對應
在 tui.keymap 中自訂終端快捷鍵。部分撰寫工具操作會以相符的 tui.keymap.global 按鍵綁定作為後備;若支援特定情境的按鍵綁定,則會優先使用。空清單會解除該操作的按鍵綁定。
[tui.keymap.global]
open_transcript = "ctrl-t"
[tui.keymap.composer]
submit = ["enter", "ctrl-m"]
[tui.keymap.chat]
interrupt_turn = "f12"
指令環境
控制 Codex 會將哪些環境變數傳遞給啟動的指令。使用 按鍵名設定的篩選器,只保留所需的變數:
[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"
ignore_default_excludes 預設為 true,因此不會自動篩除
名稱包含 KEY、SECRET 或 TOKEN 的變數。若要啟用自動篩選,請將其設為 false。
如需瞭解排除規則、優先順序與
舊版組態,請參閱Shell 環境
政策。
日誌目錄
變更 Codex 寫入本機日誌檔案的位置。明確設定 log_dir 也會
在該目錄中啟用需主動開啟的純文字 TUI 日誌 codex-tui.log。
log_dir = "/absolute/path/to/codex-logs"
若只需執行一次,也可以透過 CLI 設定:
codex -c log_dir=./.codex-log
功能旗標
使用 config.toml 中的 [features] 表格來啟用或停用選用與實驗性功能。
常用功能旗標
| 鍵 | 預設值 | 成熟度 | 說明 |
|---|---|---|---|
apps | true | 穩定 | 啟用應用程式(連接器)整合 |
goals | true | 穩定 | 啟用目標持久儲存與自動接續執行 |
hooks | true | 穩定 | 啟用透過 hooks.json 或內嵌 [hooks] 設定的生命週期掛勾。請參閱掛勾。 |
fast_mode | true | 穩定 | 啟用快速模式選項及 service_tier = "fast" 路徑 |
memories | false | 實驗性 | 啟用記憶 |
multi_agent | true | 穩定 | 啟用子代理程式協作工具 |
personality | true | 穩定 | 啟用個性選擇控制項 |
remote_plugin | true | 穩定 | 啟用遠端外掛程式目錄 |
shell_snapshot | true | 穩定 | 建立 shell 環境快照,加快重複執行指令的速度 |
shell_tool | true | 穩定 | 啟用預設的 shell 工具 |
unified_exec | true,Windows 除外 | 穩定 | 使用以 PTY 為基礎的統一 exec 工具 |
web_search | true | 已棄用 | 舊版開關;建議優先使用頂層的 web_search 設定 |
web_search_cached | false | 已棄用 | 舊版開關,未設定時對應至 web_search = "cached" |
web_search_request | false | 已棄用 | 舊版開關,未設定時對應至 web_search = "live" |
此表列出常見的使用者可用旗標,並未涵蓋所有內部或 開發中的功能。「成熟度」欄使用的標籤包括 「實驗性」、「Beta」和「穩定」。如需瞭解這些標籤的意義,請參閱功能 成熟度。
如需瞭解生命週期掛勾的組態,請參閱掛勾。
啟用功能
- 在
config.toml的[features]下新增feature_name = true。 - 在 CLI 中執行
codex --enable feature_name。 - 若要啟用多個功能,請執行
codex --enable feature_a --enable feature_b。 - 若要停用某項功能,請在
config.toml中將對應的設定鍵設為false。