「OpenAI Codex CLI」を試す
Codex、VSCode拡張で少し試してはいるが、いろいろ使い慣れていないので、ドキュメントに従って一通り写経してみる。
Quickstart
インストールは以下のどれか
- npmパッケージ
- Homebrew(Mac)
- バイナリ(Mac / Linux)
今回はローカルのMacにインストールするので、Homebrewで。
brew install codex
codex --version
codex-cli 0.40.0
Usageも
codex --help
Codex CLI
If no subcommand is specified, options will be forwarded to the interactive CLI.
Usage: codex [OPTIONS] [PROMPT]
codex [OPTIONS] [PROMPT] <COMMAND>
Commands:
exec Run Codex non-interactively [aliases: e]
login Manage login
logout Remove stored authentication credentials
mcp [experimental] Run Codex as an MCP server and manage MCP servers
proto Run the Protocol stream via stdin/stdout [aliases: p]
completion Generate shell completion scripts
debug Internal debugging commands
apply Apply the latest diff produced by Codex agent as a `git apply` to your local working tree [aliases: a]
resume Resume a previous interactive session (picker by default; use --last to continue the most recent)
help Print this message or the help of the given subcommand(s)
Arguments:
[PROMPT]
Optional user prompt to start the session
Options:
-c, --config <key=value>
Override a configuration value that would otherwise be loaded from `~/.codex/config.toml`. Use a dotted path
(`foo.bar.baz`) to override nested values. The `value` portion is parsed as JSON. If it fails to parse as
JSON, the raw string is used as a literal.
Examples: - `-c model="o3"` - `-c 'sandbox_permissions=["disk-full-read-access"]'` - `-c
shell_environment_policy.inherit=all`
-i, --image <FILE>...
Optional image(s) to attach to the initial prompt
-m, --model <MODEL>
Model the agent should use
--oss
Convenience flag to select the local open source model provider. Equivalent to -c model_provider=oss; verifies
a local Ollama server is running
-p, --profile <CONFIG_PROFILE>
Configuration profile from config.toml to specify default options
-s, --sandbox <SANDBOX_MODE>
Select the sandbox policy to use when executing model-generated shell commands
[possible values: read-only, workspace-write, danger-full-access]
-a, --ask-for-approval <APPROVAL_POLICY>
Configure when the model requires human approval before executing a command
Possible values:
- untrusted: Only run "trusted" commands (e.g. ls, cat, sed) without asking for user approval. Will escalate
to the user if the model proposes a command that is not in the "trusted" set
- on-failure: Run all commands without asking for user approval. Only asks for approval if a command fails to
execute, in which case it will escalate to the user to ask for un-sandboxed execution
- on-request: The model decides when to ask the user for approval
- never: Never ask for user approval Execution failures are immediately returned to the model
--full-auto
Convenience alias for low-friction sandboxed automatic execution (-a on-failure, --sandbox workspace-write)
--dangerously-bypass-approvals-and-sandbox
Skip all confirmation prompts and execute commands without sandboxing. EXTREMELY DANGEROUS. Intended solely
for running in environments that are externally sandboxed
-C, --cd <DIR>
Tell the agent to use the specified directory as its working root
--search
Enable web search (off by default). When enabled, the native Responses `web_search` tool is available to the
model (no per‑call approval)
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
実行。
codex
初回実行時に、ChatGPTアカウントのプランを使うか、APIキーを使うかを確認される。今回はChatGPTアカウント(Plus)で。
ブラウザが開くので認証。
認証できた。ChatGPTでデータを学習に使うか?の設定へのリンクがあるので、必要ならば適宜設定。ENTERで進む。
どうやらCLIを実行したディレクトリ単位で、Codex CLIに自動でいろいろ実行させるか、またはユーザに確認を求めるか?の設定が行われる様子。今回はホームディレクトリ直下で実行したため、ここでは何もしてほしくない。Ctrl+Cを入力。
これが開始時のメッセージになるみたい。gpt-5-codex
が選択されているのが見える。とりあえずCtrl+Cを2回叩いて終了。
なお、設定やログなどは ~/.codex
配下に保存されるみたい。
tree -a ~/.codex
/Users/kun432/.codex
├── auth.json
├── log
│ └── codex-tui.log
├── sessions
│ └── 2025
│ └── 09
│ └── 24
│ └── rollout-2025-09-24T19-13-22-01997b36-a4ec-7532-adcc-0ca4d269172a.jsonl
└── version.json
Getting started
上で試した通り、基本的には何かしらのディレクトリ(というかレポジトリディレクトリ)配下で実行するのが通常の使い方。実際に試してみるに当たり、サンプルとしてなるべく小さめのレポジトリでやるのがわかりやすそう。
ということで以下のStreamlitのサンプルレポジトリを使うことにする。
レポジトリクローン
git clone https://github.com/streamlit/streamlit-example && cd streamlit-example
ここでCodex CLIを起動する。まずはオプションなど一切なしで。
codex
1つ前と同様に、確認の有無を聞いてくる。とりあえず「要確認」とする。
オプション無しの場合はインタラクティブにやりとりすることになる。プロンプトを適当に入力。
こんな感じで、ディレクトリ内のファイルを走査したりして内容を確認してくれる。一旦Ctrl+Cで終了。
終了すると、おそらくそのセッションのトークン使用量などが表示されるみたい。また、この続きから実行することもできるみたい。
次に、コマンドラインから直接プロンプトを渡すパターン。
codex "このレポジトリの内容について日本語で説明して"
実行すると再度確認の有無を聞いてくる。このあたりは設定で覚えてくれたりはしないのかな?とりあえず今回は確認なしで実行させるようにしてみる。
こんな感じで対話モードで実行される。初期プロンプトってことね。これも一旦Ctrl+Cで止める。
同じことを再度実行してみる。
codex "このレポジトリの内容について日本語で説明して"
今度は確認の有無は聞かれなかった。
このあたりの設定はどこにあるのかな?と思って調べてみると ~/.codex/config.toml
が作成されていた。
``toml:~/.codex/config.toml
[projects."/Users/kun432/work/streamlit-example"]
trust_level = "trusted"
なるほど、ここでディレクトリごとにおそらく設定が行われるのだろうと思われる。逆に常に確認してほしい、みたいな設定はできるのかな?
CLIから対話モードを無効化して自動実行させることもできる。とりあえず先程の`config.toml`を一旦削除。
```shell
rm ~/.codex/config.toml
exec
サブコマンドでプロンプトを渡して実行。
codex exec "このレポジトリの内容について日本語で説明して"
なるほど、確認等なし、かつ、そのまま出力される、という感じかな。
上の方に表示されているけど、モデルや確認などを指定するオプションもあるみたい。
-
--model
/-m
: モデルの変更 -
-a
/--ask-for-approval
: 確認の有効化
sandbox
ってのが気になる。
インタラクティブセッションのレジューム
上にもあった通り、実行したセッションはレジュームが可能。resume
サブコマンドを使う。
オプションなしで実行。
codex resume
毎度のごとく確認が行われる。今回は面倒なので許可する。
こんな感じでセッションを選択できる。色々お試ししてたので、同じものが並んでいるが、それぞれ個別のセッションになっている。適当にどれか選んでみる。
前回の応答があったところからインタラクティブセッションが再開されるみたい。
--last
をつけると最も直近、つまり前回のセッションから続けることができる。
codex resume --last
終了時に表示されていたセッションIDを指定して再開することもできる。
終了すると、おそらくそのセッションのトークン使用量などが表示されるみたい。また、この続きから実行することもできるみたい。
codex resume <セッションID>
プロンプトを入力して実行
CLIからプロンプトを引数として渡して実行できるのは上で書いた通り。
次に、コマンドラインから直接プロンプトを渡すパターン。
codex "このレポジトリの内容について日本語で説明して"
Usageに --full-auto
オプションというのがある。どうやらサンドボックス環境を作成して自動実行するというものらしい。
usageの出力--full-auto Convenience alias for low-friction sandboxed automatic execution (-a on-failure, --sandbox workspace-write)
新たにディレクトリを作成
mkdir ../todo-list-app-sample && cd $_
実行
codex --full-auto "シンプルなToDoリストアプリを作成して。"
自動でファイルを作成して一通り作ってくれた。ドキュメントを見る限りは、コード生成・サンドボックスで実行・依存パッケージのインストール・実行結果、まで自動でやってくれるみたい。Usageにもあるけど、--full-auto
は --ask-for-approval on-failure --sandbox workspace-write
のエイリアスになっていて、このあたりのオプションもあとで確認してみる。
プロンプトの例
✨ | 入力例(日本語・コードブロック) | 実行される内容(標準的な日本語訳) |
---|---|---|
1 | codex "DashboardコンポーネントをReact Hooksにリファクタリングして" |
クラスコンポーネントをReact Hooksに書き換え、npm test を実行し、差分を表示します。 |
2 | codex "usersテーブル追加用のSQLマイグレーションを生成して" |
使用しているORMを推測し、マイグレーションファイルを作成し、サンドボックス化されたDBで実行します。 |
3 | codex "utils/date.tsのユニットテストを書いて" |
テストコードを生成し、実行して、すべてのテストが通るまで繰り返します。 |
4 | codex "git mvで*.jpegを*.jpgにまとめてリネームして" |
ファイルを安全にリネームし、インポートや使用箇所も更新します。 |
5 | codex "この正規表現 ^(?=.*[A-Z]).{8,}$ の意味を説明して" |
正規表現の意味をステップごとに人間向けに解説します。 |
6 | codex "このリポジトリをしっかりレビューして、インパクトの大きいPR案を3つ提案して" |
現在のコードベースに対して、影響の大きい具体的なPR案を3つ提案します。 |
7 | codex "脆弱性を探してセキュリティレビューのレポートを作成して" |
セキュリティ上のバグを発見し、解説付きのレポートを作成します。 |
AGENTS.md
を使ったメモリ
AGENTS.md
に指示やガイダンスを書いて置くと、Codexはそれに従う。AGENTS.md
は複数個所に配置できて、上から順にマージされてCodexに渡される。
-
~/.codex/AGENTS.md
: パーソナルかつグローバルな指示 - レポジトリのルート直下の
AGENTS.md
: プロジェクト内で共有 - 現在の実行ディレクトリ内の
AGENTS.md
: サブフォルダや機能単位
AGENTS.md
については標準化されつつある。以下を参照。
Tipsとショートカット
@
を使ったファイル検索
@
を使うと、ファイル名であいまい検索ができ、これをコンテキストに追加できる。
画像の入力
画像はコピペでそのまま入力に使える。もしくはCLIだと -i
/ --image
で臥像を入力することができる。複数画像の場合はカンマ区切り。
ちょっと使い方が間違ってるけど例えば以下の画像の場合。
コピペで。
コマンドラインからだとこう。
codex -i ~/Desktop/kobe.jpg "この画像について説明して。"
以前のメッセージを編集
入力欄に何も入力されていない場合、ESC
キーで「バックトレースモード」になる。そこで再度ESC
を入力すると、最後に入力したメッセージがハイライトされ、続けてESC
キーを入力するとさらに古いメッセージになる。
例えば、以下のような感じでメッセージを入力していたとする。
シンプルなToDoリストアプリを作成して。
ボタンの色を黄緑色にして。
背景をより薄い緑色にして。
ESC
を2回入力すると、以下のように1つ前のメッセージがハイライトされる。
もう一度ESC
を入力すると、さらに1つ前に戻る。
ENTERで過去のメッセージに戻って編集して再実行できる。
なお、最初にESC
を一度入力した際、下のメニューの表示が変わっているので、2回目で過去のメッセージを編集できる、ということがわかる。
シェル補完
bash / zsh / fish 向けにシェル補完が用意されている。
自分はbashなのだけど、Homebrewでcodexをインストールした場合は completionの設定も行われているので、bash-completionがインストール済& .bash_profile の設定済であれば、最初から普通に使えているはず。
--cd
/ -C
フラグ
Codexで作業を行うディレクトリにいちいち移動しなくても、--cd
/ -C
でディレクトリを指定すれば、そこが作業ディレクトリのルートになる。
例えば
cd # ホームディレクトリに移動
codex --cd ~/work/streamlit-example # --cd で作業ディレクトリ指定
サンドボックスと許可
Codexは、Codex自身の実行に関して、2つのガードレール的な概念がある。
- 許可モード(Approval modes)
- サンドボックス
許可モード(Approval modes)
Codexの自動操作に対して制限の度合いを設定するモード。3つのモードがある
-
Auto
(デフォルト)- 作業ディレクトリの中は自動でファイル参照・編集・コマンド実行を許可。
- 作業ディレクトリ外やインターネットアクセスが必要な場合は許可が求められる。
-
Read Only
- 参照のみ。
-
Full Access
- 許可無しで、ファイル参照・編集・ネットワークアクセスが必要なコマンドの実行などが行われる。
/approvals
コマンドで許可モードを変更できる。
デフォルトと推奨
- デフォルトでは、サンドボックス 内の実行となり、強い制約がかかる。
- 作業スペース外のファイル編集やネットワークアクセスは、許可がない限り、ブロックされる。
- 起動時に該当のディレクトリがバージョン管理下にあるかをチェックして、モードの推奨が行われる。
- バージョン管理下の場合:
Auto
(ワークスペース内の書き込みが許可、その他は必要な場合は許可が求められる) - バージョン管理下ではない場合:
Read Only
- バージョン管理下の場合:
- 作業スペースは以下が含まれ、
/status
で確認できる- 現在のディレクトリ
- 一時ディレクトリ(
/tmp
など)
- これらを明示的に設定できる
-
codex --sandbox workspace-write --ask-for-approval on-request
- 作業ディレクトリは書き込みが可能
- 必要な場合は許可が求められる
-
codex --sandbox read-only --ask-for-approval on-request
- 作業ディレクトリ内は読み取り専用
- 必要な場合は許可が求められる
-
一切許可なしで実行できるか?
-
--ask-for-approval never
を使えば、全ての許可が求められること無く実行される -
--sandbox
の全てのモードで可能
よくあるサンドボックスと許可モードの組み合わせ
意図 | フラグ | 効果 |
---|---|---|
安全な読み取り専用の参照 | --sandbox read-only --ask-for-approval on-request |
Codex はファイルを読み取り、質問に回答できる。編集・コマンド実行・ネットワークアクセスには承認が必要。 |
読み取り専用・非対話(CI) | --sandbox read-only --ask-for-approval never |
読み取りのみ。権限拡張(エスカレーション)は一切行わない。 |
リポジトリ内の編集を許可し、危険な場合は確認 | --sandbox workspace-write --ask-for-approval on-request |
Codex はワークスペース内で読み取り・編集・コマンド実行が可能。ワークスペース外の操作やネットワークアクセスには承認が必要。 |
Auto(プリセット) |
--full-auto (--sandbox workspace-write + --ask-for-approval on-failure と同等) |
Codex はワークスペース内で読み取り・編集・コマンド実行が可能。サンドボックス内のコマンドが失敗した場合や権限拡張が必要な場合に承認を求める。 |
YOLO(非推奨) |
--dangerously-bypass-approvals-and-sandbox (エイリアス: --yolo ) |
サンドボックスなし・承認プロンプトなし。 |
※注: workspace-write
モードは、設定で有効化しない限りネットワークはデフォルトで無効([sandbox_workspace_write].network_access = true
)。
--ask-for-approval
の Usageも改めて確認。
オプション | 取りうる値 | 説明 |
---|---|---|
--ask-for-approval |
untrusted |
一部の許可コマンドは許可なしで実行</br>上記以外は許可が求められる |
on-failure |
すべてのコマンドが許可なしで実行 コマンド失敗時のみサンドボックス外での実行許可がもとめられる |
|
on-request |
モデルが許可を求めるかどうかを判断する | |
never | 許可を求めない コマンド失敗時はモデルに返される |
で、上であった通り、これらはconfig.toml
で設定できる。設定例はドキュメント参照。
Codexサンドボックス環境での確認 / プラットフォームごとのサンドボックス機構の詳細
codex debug
サブコマンドにさらに2つのサブコマンドがある。
codex debug --help
Internal debugging commands
Usage: codex debug [OPTIONS] <COMMAND>
Commands:
seatbelt Run a command under Seatbelt (macOS only)
landlock Run a command under Landlock+seccomp (Linux only)
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <key=value>
Override a configuration value that would otherwise be loaded from `~/.codex/config.toml`. Use a dotted path
(`foo.bar.baz`) to override nested values. The `value` portion is parsed as JSON. If it fails to parse as
JSON, the raw string is used as a literal.
Examples: - `-c model="o3"` - `-c 'sandbox_permissions=["disk-full-read-access"]'` - `-c
shell_environment_policy.inherit=all`
-h, --help
Print help (see a summary with '-h')
でこれらは各OSが提供しているサンドボックス機構に合わせて用意されているらしい。
-
seatbelt
- macOS 12+以降で利用可能な Apple Seatbelt下でコマンドを実行
- 参考: https://yuzuhara.hatenablog.jp/entry/2011/12/27/235521
-
landlock
- Linuxのみ。Landlock + seccomp下でコマンドを実行
- 参考: https://landlock.io/
なお、Docker(でLinuxコンテナ)を使う場合については以下と記載がある。
Docker などのコンテナ環境で Linux を実行している場合、ホスト/コンテナ構成が必要な Landlock/seccomp API をサポートしていないとサンドボックスが機能しないことがあります。そのような場合は、求めるサンドボックス保証を満たすように Docker コンテナを構成したうえで、コンテナ内の
codex
を--sandbox danger-full-access
(または、より簡単に--dangerously-bypass-approvals-and-sandbox
フラグ)で実行することを推奨します。
んー、なるほどね、Codexのサンドボックス機構が動かない場合があるので、その場合はコンテナ環境側でサンドボックスの役割を果たすようにして、コンテナ内Codexは --sandbox danger-full-access
/ --dangerously-bypass-approvals-and-sandbox
みたいにCodexサンドボックスを無効化する、ってことね。
このあたりのOSのサンドボックス機構ほとんど触ったことないので、また試してみよう。
認証
従量課金の代替案: OpenAI APIキーの使用
上の方で試した時は、ChatGPTアカウントでログイン、つまり課金はChatGPTサブスクリプションとなっていたが、OpenAI APIキーを使うこともできる。この場合は従量課金となる。
codex login --api-key "<APIキー>"
APIキーの権限はResponses APIへの書き込み権限が最低でも必要。
なお、API利用の場合の料金はこれかな
基本的にはGPT-5と同じような料金と思っておけば良さそう。あと、codex-mini-latest
っていうのもあるみたい。こちらはo4-miniがベースになっているらしい。
APIキーからChatGPTログインへの移行
以下のように行えば、APIキー課金からChatGPTサブスクリプションへ課金方法を変更することができる。
- Codex CLIのバージョンを
0.20.0
以上に上げる -
~/.codex/auth.json
を削除 - 再度
codex login
これは多分ChatGPTログインからAPIキーへの以降の場合も同じ。
ヘッドレス環境でのログイン
Codexでログインした際、ブラウザと連携して認証が行われていた。認証の最後の画面がこれ。
URLが localhost:1455
になっていることからわかるように、CodexがローカルでWebサーバを起動することで認証の連携を行っている。つまり、DockerなどのコンテナやリモートSSHホストでCodexログインを行う場合、そのままだと上手くいかない場合がある。
その場合は以下の2つの方法がある
- ローカルマシンで認証、作成されたクレデンシャル(
~/.codex/auth.json
)をコンテナやSSHサーバにコピーする。 -
localhost:1455
をリモートSSHホストの1455番ポートにSSHポートフォワードする
コマンド例などはドキュメント参照。Dockerならばクレデンシャルをマウントするのがお手軽だと思う。
高度な使い方
非インタラクティブモード/CIモード
GitHub Actionsなどで使う場合の例。
- name: Update changelog via Codex
run: |
npm install -g @openai/codex
codex login --api-key "${{ secrets.OPENAI_KEY }}"
codex exec --full-auto "update CHANGELOG for next release"
非インタラクティブモードのセッションでレジューム
インタラクティブセッションの場合は codex resume
、非インタラクティブセッションの場合は codex exec resume
を使う。
# 最新のセッションを再開して、プロンプトで実行
codex exec "ボタンに絵文字を付けて" resume --last
# プロンプトを標準入力で渡すこともできる。末尾の '-' は付けない。
echo "ボタンに絵文字を付けて" | codex exec resume --last
# セッションIDで再開
codex exec resume XXXXXXXXX-XXXX-XXXX-XXXXXXXXXX "ボタンに絵文字を付けて"
ただし、どうやらこれは新しい機能のようで、最新のソースには含まれているがリリース版には含まれていない可能性があるらしい。ヘルプで確認してみる。
codex exec --help
resume
が見えているのでOK
Run Codex non-interactively
Usage: codex exec [OPTIONS] [PROMPT] [COMMAND]
Commands:
resume Resume a previous session by id or pick the most recent with --last
help Print this message or the help of the given subcommand(s)
(snip)
試しに実行してみた。
codex exec "ボタンに絵文字を付けて" resume --last
が、ファイルの編集権限がなくて、最終的には変更点だけを提示して終了した。
[2025-09-25T06:15:06] codex
- I wasn’t able to write to the project files (macOS sandbox kept returning “Operation not permitted”), so the change is prepared but not applied yet.
- Edit `public/index.html:21` and replace the button labels as follows:
-
<button class="todo-form__submit" type="submit">追加</button>
-
<button class="todo-form__submit" type="submit">➕ 追加</button>
-
<button id="clear-completed" class="todo-list__clear" type="button">
-
完了済みを削除
-
<button id="clear-completed" class="todo-list__clear" type="button">
-
🧹 完了済みを削除 </button>
-
<button class="todo-item__delete" type="button" aria-label="削除">×</button>
-
<button class="todo-item__delete" type="button" aria-label="削除">🗑</button>
**Next Steps**
1. Update `public/index.html` with the snippet above.
2. Reload `public/index.html` in your browser and confirm all buttons now show the emoji labels. If the sandbox restrictions loosen later, let me know and I can apply the edit directly.
実行時の出力の先頭部分を見てみると、sandbox: read-only
になっている。なるほど。
[2025-09-25T06:17:00] OpenAI Codex v0.40.0 (research preview)
--------
workdir: /Users/kun432/work/todo-list-app-sample
model: gpt-5-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: none
reasoning summaries: auto
--------
ただし、インタラクティブセッションの場合にはちょっと異なる。codex resume --last
で起動して /status
を実行してみるとこうなっている
/status
📂 Workspace
• Path: ~/work/todo-list-app-sample
• Approval Mode: on-request
• Sandbox: workspace-write
• AGENTS files: (none)
(snip)
非インタラクティブセッションでは、サンドボックスと許可モードは明示的にオプションを付けてやる必要がありそう。もしくは、config.tomlでの設定を行っておけばできるのかな?
トレーシング / ロギング
CodexはRustで書かれている。RustではRUST_LOG
という環境変数でロギングを制御できるらしいのだが、Codexでもこれが使える。
インタラクティブモードの場合のデフォルトは RUST_LOG=codex_core=info,codex_tui=info
となっていて、ログは ~/.codex/log/codex-tui.log
に出力されるので、tail -F
などでウォッチすれば良い。
非インタラクティブモードの場合のデフォルトは RUST_LOG=error
となっているが、標準出力にインラインで出力される。
RUST_LOG
についてはRustのドキュメントを参照
MCP
MCPサーバは、~/.codex/config.toml
の mcp_servers
セクションに設定すれば使える。TOMLなのでちょっと他とは書きっぷりが違うけども。例えば、
例えば、GitHub MCPとかだとこう。
[mcp_servers.github_mcp]
command = "docker"
args = ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"]
env = { "GITHUB_PERSONAL_ACCESS_TOKEN" = "XXXXXXXXXX" }
こんな感じで使える
設定については以下ドキュメントにもあるが、
ざっと見た感じ、現時点では stdio にしか対応していない様子。SSEとかStreamable HTTPの場合には mcp-proxy などを挟む必要がある。
まだexperimentalではあるが、codex mcp
サブコマンドで管理的なこともできるみたい。
codex mcp --help
[experimental] Run Codex as an MCP server and manage MCP servers
Usage: codex mcp [OPTIONS] [COMMAND]
Commands:
serve [experimental] Run the Codex MCP server (stdio transport)
list [experimental] List configured MCP servers
get [experimental] Show details for a configured MCP server
add [experimental] Add a global MCP server entry
remove [experimental] Remove a global MCP server entry
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <key=value>
Override a configuration value that would otherwise be loaded from
`~/.codex/config.toml`. Use a dotted path (`foo.bar.baz`) to override nested values.
The `value` portion is parsed as JSON. If it fails to parse as JSON, the raw string
is used as a literal.
Examples: - `-c model="o3"` - `-c 'sandbox_permissions=["disk-full-read-access"]'` -
`-c shell_environment_policy.inherit=all`
-h, --help
Print help (see a summary with '-h')
CodexをMCPサーバとして使う
Codex自体をMCPサーバとして使うこともできる。ここはまたそのうち。
設定
config.toml
の設定については以下を適宜参照すれば良さそう。
カスタムプロンプト
READMEのリンクに書かれていないけど docs
以外には他にもドキュメントがある。その中でとりあえずカバーしておくべきなのはこれかな。
~/.codex/prompts/
に Markdownファイル(.md
)を置いておくと、カスタムスラッシュコマンドが使える。
あとは使いながら。