先講結論
- 最常用的是四個。直接打
codex進對話,codex exec "任務"做完就結束,codex resume --last接回上一次,codex doctor檢查安裝。 - 它能改什麼由
--sandbox決定,有 read-only、workspace-write、danger-full-access 三種。我實測,唯讀模式連專案裡的檔都寫不了,workspace-write 可以寫專案和 /tmp,兩種都連不出網路。 - 用
codex mcp add加的設定寫在~/.codex/config.toml。對話裡的斜線指令官方列了 50 個,這部分我沒登入,沒有實際打過。
裝好 Codex CLI,打 codex --help,畫面列出 25 個子指令,下面還有二十幾個參數。
大部分你用不到。這篇挑常用的整理,能實際跑的我都在測試機上跑了,畫面直接貼出來。
先交代一個限制。我沒有登入 ChatGPT 帳號,所以進不去對話畫面。終端機這一層的指令,不用登入就能跑的我都跑過;進到對話之後打的斜線指令,是照官方文件整理的,文中會分開講。版本是 Codex CLI 0.162.1,日期是 2026 年 10 月 13 日。
還沒裝的話,先看Codex CLI 安裝教學。
先分清楚兩種指令
一種是在終端機打的,codex 開頭,像 codex exec、codex resume。這種是用來決定「怎麼啟動它」。
另一種是進到對話之後打的,斜線開頭,像 /status、/model。這種是在對話進行中調整東西。
前半篇講第一種,後半篇講第二種。
最常用的四個
codex:進對話
什麼都不加,直接打 codex,就進到對話畫面。
也可以在後面帶一句話,當作第一個問題:
codex "說明這個專案在做什麼"
codex exec:做完就結束
不開對話畫面,交代一件事,它做完、把結果印出來就結束。可以縮寫成 codex e。
codex exec "列出這個專案最大的五個檔案"
官方文件說這是給腳本和 CI 用的。執行過程印在 stderr,最後的回答印在 stdout,所以可以直接接到別的指令或存成檔案。
我沒登入,它跑不到回答那一步,但開頭會先印出這次執行的設定:
OpenAI Codex v0.162.1
--------
workdir: /vercel/proj
model: gpt-6.1-sol
provider: openai
approval: never
sandbox: read-only
最後兩行要留意。codex exec 預設是唯讀,而且不會停下來問你。也就是照預設跑,它只能看、不能改檔。要讓它動手,得自己放寬,下一節講。
另外它要求在 Git 管理的專案裡執行。我在一個普通資料夾裡跑,直接被拒絕,訊息寫的是這裡不是受信任的資料夾,而且我沒有加 --skip-git-repo-check。
想讓程式來讀它的輸出,加 --json,每個事件會印成一行 JSON。我看到的前兩行是這樣:
{"type":"thread.started","thread_id":"01a13465-..."}
{"type":"turn.started"}
codex resume:接回上次的對話
這個我沒辦法實測,照 --help 和官方文件寫。
codex resume 會跳出清單讓你挑一段舊對話。codex resume --last 不跳清單,直接接最近的那一次。
文件補充了一個細節,--last 只看你目前所在的資料夾。想跨資料夾找,要加 --all。
codex doctor:檢查安裝
覺得哪裡怪怪的,先跑這個。加 --summary 只看重點:
codex doctor --summary
它會一項一項列出來:版本、安裝方式、找不找得到 Git、磁碟空間、設定檔有沒有讀到、有沒有登入。我沒登入,所以有一行寫找不到登入資料,其他都是通過。
它能改什麼:兩個參數
這是整份 --help 裡最需要搞懂的部分。
--sandbox 決定它執行的指令被關在多大的範圍裡。--help 列的值有三個:read-only、workspace-write、danger-full-access。
--ask-for-approval 決定它什麼時候停下來問你。這一版 --help 列的值有兩個:on-request 是它自己判斷需要的時候才問,never 是完全不問。
官方文件給的建議是,平常在自己電腦上做事,用這個組合:
codex --sandbox workspace-write --ask-for-approval on-request
文件另外有兩個提醒。有一個叫 --dangerously-bypass-approvals-and-sandbox 的參數,會把沙盒和確認全部關掉,文件說只該在專門隔離出來的虛擬機裡用。需要讓它多寫幾個資料夾的時候,文件建議用 --add-dir 一個一個加,不要直接開 danger-full-access。
我實際測了沙盒擋什麼
Codex 有一個 codex sandbox 的子指令,可以把你指定的指令放進同一套沙盒裡執行,不用登入。我拿它在一個專案資料夾裡做了五件事,兩種模式各跑一次。
| 做什麼 | read-only(預設) | workspace-write |
|---|---|---|
| 在專案裡寫一個檔 | 失敗 | 成功 |
| 在專案外面寫一個檔 | 失敗 | 失敗 |
| 在 /tmp 寫一個檔 | 失敗 | 成功 |
| 讀系統的檔案 | 成功 | 成功 |
| 用 curl 連外面的網站 | 連不出去 | 連不出去 |
失敗的時候,系統回的是 Read-only file system。連網那一項,curl 回的是找不到主機。
所以 workspace-write 的意思是:專案資料夾和暫存區可以寫,其他地方只能讀,而且預設沒有網路。
workspace-write 那一欄,我用的指令是這樣:
codex sandbox -c 'sandbox_mode="workspace-write"' -- sh -c 'echo x > in.txt'
有一件事要講清楚。在我的測試機上,這個指令直接跑會失敗,bubblewrap 抱怨權限設定不對。那是那台雲端測試機本身的環境造成的,我先用 setpriv 把多餘的權限拿掉才跑得起來。一般的電腦會不會遇到,我沒有驗證。
Mac 和 Windows 的沙盒,文件寫用的是另外的機制,我沒有測。
不用登入就能跑的幾個
這幾個是我一個一個試出來的,都不需要帳號。
codex login status 看有沒有登入。沒登入時它印 Not logged in,結束代碼是 1。文件寫有登入時是 0,寫腳本的時候可以拿來判斷。
codex features list 列出所有的功能開關。我數到 167 個,每一列有名稱、階段、目前是開是關。標成 stable 的 52 個,還在開發中的 66 個,已經移除的 41 個。想開某一個,用 codex features enable 名稱。我試了一個,它在設定檔裡加了一段 [features]。
codex debug models 印出模型目錄,是一大份 JSON。裡面的代號有 gpt-6-astra、gpt-6.1-sol、gpt-6-sol、gpt-6-luna 等十一個。前面 codex exec 印出的設定裡,模型那一行寫的就是這種代號。
codex completion zsh 印出 zsh 用的指令補完腳本,也支援 bash、fish、PowerShell。
codex plugin list 列出可以裝的外掛。我看到的是一個叫 openai-api-curated 的市集,50 個外掛,有 GitHub、Linear、Figma、Notion、Slack、Vercel、Cloudflare、Stripe 這些。剛裝好的機器上,我看到的狀態都是還沒安裝。
MCP:加一個伺服器會改到哪裡
MCP 是讓 AI 工具接上外部服務的一套標準,它本身是什麼在 MCP 是什麼,實際接一台的過程在 Claude Code MCP 教學。Codex 這邊是用 codex mcp 管理。
加一個在本機啟動的:
codex mcp add ctx7 -- npx -y @upstash/context7-mcp
加一個遠端的:
codex mcp add demo --url https://example.com/mcp
兩個都回 Added global MCP server。接著 codex mcp list 看得到它們,codex mcp get ctx7 會列出單一個的細節。
我去看了設定檔。它改的是家目錄底下的 .codex/config.toml,多了這幾行:
[mcp_servers.ctx7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
[mcp_servers.demo]
url = "https://example.com/mcp"
官方文件也寫,MCP 的設定就是存在這個檔案裡。
拿掉用 codex mcp remove ctx7。我兩個都移除之後,設定檔裡那幾行就不見了。
我只測到「設定寫進去」這一步。這兩個伺服器實際有沒有連上、工具能不能用,要登入進到對話才看得到。
進到對話之後:斜線指令
這一節我沒有實際打過,全部照官方文件。
文件的斜線指令表有 50 列。在對話裡打一個 / 會跳出清單,邊打字邊篩選。下面是我讀完之後覺得最常會用到的:
| 指令 | 做什麼 |
|---|---|
/status |
看目前的模型、權限設定、用了多少 token |
/usage |
看帳號的用量 |
/model |
換模型,也可以調推理的深度 |
/permissions |
調整它不用問就能做的範圍 |
/init |
在目前的資料夾產生 AGENTS.md 的雛形 |
/compact |
把目前的對話濃縮,騰出空間 |
/diff |
看它改了什麼,包含 Git 還沒追蹤的檔案 |
/review |
請它檢查目前還沒提交的改動 |
/plan |
切到計畫模式,先出計畫再動手 |
/new、/clear |
開一段新對話;/clear 會連畫面一起清掉 |
/resume |
從清單接回舊對話 |
/mcp |
列出設定好的 MCP 工具 |
/quit、/exit |
離開 |
有一個是從別的工具搬過來的人會用到的:/import。文件寫它可以把 Claude Code 或 Cursor 的設定、專案和對話匯進 Codex。
文件還列了幾個輸入時的快捷操作。打 @ 可以搜尋專案裡的檔案、把路徑加進來。一行的開頭打 !,後面接的會當成 shell 指令直接執行。輸入框是空的時候連按兩次 Esc,可以回去改上一句。按 Ctrl+C 離開。
跟 Claude Code 對照
兩個工具做的事一樣,指令也對得起來。Claude Code 這一欄是我平常在用的。
| 做什麼 | Claude Code | Codex |
|---|---|---|
| 問一句就結束 | claude -p "..." |
codex exec "..." |
| 接回最近的對話 | claude -c |
codex resume --last |
| 從清單挑舊對話 | claude -r |
codex resume |
| 專案說明檔 | CLAUDE.md | AGENTS.md |
| 加 MCP 伺服器 | claude mcp add |
codex mcp add |
| 檢查安裝 | claude doctor |
codex doctor |
有一個預設值差很多,換工具的時候要留意。Claude Code 用 -p 的時候,改檔會因為沒有人能按同意而改不了。Codex 的 exec 則是預設就關在唯讀的沙盒裡。兩邊結果一樣是「預設不會動你的檔案」,但放寬的方式不同。
Claude Code 這邊的細節在Claude Code CLI 指令整理。兩個工具的價格和功能,並排在Claude Code 跟 Codex 怎麼選。
這篇沒有測的
登入之後的一切。對話畫面、斜線指令、快捷鍵、codex resume,還有 codex exec 真的做完一件事的樣子。
danger-full-access 模式。
MCP 伺服器實際連線。
Mac 和 Windows 上的沙盒。
常見問題
codex exec 是做什麼的?
不開對話畫面,交代一件事讓它做完就結束。官方文件說是給腳本和 CI 用的,可以縮寫成 codex e。它要求在 Git 管理的專案裡執行,不然要加 --skip-git-repo-check。
Codex CLI 怎麼接回上次的對話?
照 codex resume --help 的說明,codex resume 會跳出清單讓你挑,codex resume --last 直接接最近的一次。官方文件補充,--last 只看目前這個資料夾,加 --all 才會跨資料夾找。我沒有登入,這個沒有實際接過。
Codex 的沙盒模式有哪幾種?
--sandbox 可以填 read-only、workspace-write、danger-full-access。前兩種我用 codex sandbox 實測過:read-only 什麼都不能寫;workspace-write 可以寫專案資料夾和 /tmp,專案外面不行;兩種都連不出網路。
Codex CLI 怎麼加 MCP 伺服器?
codex mcp add 名字 -- 啟動指令,遠端的用 codex mcp add 名字 --url 網址。我實際加過,設定會寫進 ~/.codex/config.toml,用 codex mcp list 看、codex mcp remove 拿掉。
這篇怎麼查證的
這篇只有一部分實際跑過,其餘依官方文件整理,查證日期 2026/10/13(codex --help 和各子指令的說明、沙盒測試、MCP 設定、doctor、features、debug models、plugin list,是 2026 年 10 月 13 日在一台雲端的 Linux 測試機(Ubuntu 26.04、x86_64)上用 Codex CLI 0.162.1 實際跑的,全程沒有登入。對話裡的斜線指令和快捷鍵要登入才進得去,這部分依 OpenAI 官方文件〈Developer commands〉,同一天讀取。跟 Claude Code 對照的那一欄,是我平常在用的 Claude Code)。哪些有跑、哪些沒跑,文中各段有寫。價格與方案以官方頁面為準,工具改版後內容可能過期。