← Back to Blog
AITooling

讓 Codex 呼叫 Claude Code

前一篇寫的是「讓 Claude Code 呼叫 Codex」。現在我自己大多待在 Codex,手上又有每月 200 美元的 Claude Max 方案,就也想把方向反過來:遇到獨立的讀 code、查錯或 review,交給 Claude 跑完,再把精簡結果帶回 Codex 判斷和收尾。

正確入口是 claude -p

我原本在上一篇末尾寫成 claude mcp serve,這裡先更正。 Anthropic 的MCP 說明寫得很清楚:它暴露的是 Claude Code 的 Read、Edit、LS 等 tools,並不會替 MCP client 跑一輪 Claude 模型。真的要把 task 交給 Claude,直接用非互動模式claude -p 就好。

powershell
claude -p "請檢查這個 repo 的實作,只回傳具體問題、檔案與行號,不要修改檔案。" `
--model sonnet `
--effort low `
--tools "Read,Glob,Grep" `
--permission-mode dontAsk `
--no-session-persistence `
--output-format json

dontAsk 讓超出權限的操作直接被拒絕,不會在背景等人回答;JSON 則方便 Codex 只取最後結果。完整參數可以看Claude Code CLI 文件

做成 Codex skill

我把這段包成一個 user-scope 的 Codex skill,原始碼放在delegate-to-claude。裝在 $HOME/.agents/skills 後,Codex 可以依 skill 的描述 隱式觸發,不需要每次重打一整串命令;這也是官方支援的 skill 路徑

它不是 Codex 的 native subagent,只是從 skill 裡啟動外部 Claude CLI,拿回 一份結果,再由 Codex 驗證。這個差別其實滿重要:兩邊不共享對話狀態,也不該同時 改同一批檔案。

先只開讀取權限

目前 skill 只允許 Read、Glob、Grep。原生 Windows 下這些讀取工具不是 path-bound,所以只會用在可信任、沒有敏感內容的 repo,而且讀取前會先確認是否同意 把程式碼送到 Anthropic。我主要會派完整一點的 code review、讀陌生 module、找 failing test 的可能原因,或請另一個模型給 second opinion;修改和最後驗證仍留在 Codex。

我刻意沒有開 Edit 或 Bash。Claude Code 的OS-level sandbox目前只支援 macOS 和 Linux。真的需要 Claude 動手時,我會另外準備隔離的 worktree,而不是讓兩個 agent 搶同一份 working tree。

實際跑了一次

設定時先遇到一個小坑:claude auth status 明明顯示 Max,第一次claude -p 卻回 401。重新跑claude auth login --claudeai 後就正常了,應該只是本機快取的訂閱 credential 過期。登入方式可以查官方認證文件

synthetic repo 測試則正確讀出 Next.js、pnpm 與 build/test 指令, 過程沒有 permission denial。最初載入一般設定直接跑 claude -p, 最小的 Haiku 測試建立了 9,632 個 cache tokens;收緊 wrapper、關掉一般設定、 hooks、MCP 和 Chrome integration 後仍有 6,082 個。所以一句話能回答的小題不值得 特別派,整段 review、查錯或需要讀一批檔案時才比較合理。

額度怎麼算

如果環境裡有 ANTHROPIC_API_KEY,Claude Code 會優先走 API 計費;我的 wrapper 偵測到時會先拒絕,避免以為在吃 Max 額度,結果另外收到 API 帳單。沒有 API key 時就沿用本機的 Claude 訂閱登入。

Anthropic 在 2026 年 7 月原本打算把 Agent SDK(包含 claude -p) 從訂閱額度拆出去,後來暫停了這項變更,目前仍可使用方案內額度。JSON 裡的 total_cost_usd 是這次用量的 估算,不代表 Max 帳號又被加收一筆。

這套做法比較像把一部分工作移到 Claude 的額度,不是讓 token 消失;Claude 回傳的 內容最後仍會進 Codex context。所以我會把 task 切得完整一點,也要求只回結論、檔案 和行號。這樣才真的有派出去的意義。