Closed10

「OpenAI Codex CLI」を試す

kun432kun432

Quickstart

https://github.com/openai/codex?tab=readme-ov-file#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
kun432kun432

Getting started

https://github.com/openai/codex/tree/main/docs/getting-started.md

上で試した通り、基本的には何かしらのディレクトリ(というかレポジトリディレクトリ)配下で実行するのが通常の使い方。実際に試してみるに当たり、サンプルとしてなるべく小さめのレポジトリでやるのがわかりやすそう。

ということで以下のStreamlitのサンプルレポジトリを使うことにする。

https://github.com/streamlit/streamlit-example

レポジトリクローン

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に渡される。

  1. ~/.codex/AGENTS.md: パーソナルかつグローバルな指示
  2. レポジトリのルート直下のAGENTS.md: プロジェクト内で共有
  3. 現在の実行ディレクトリ内のAGENTS.md: サブフォルダや機能単位

AGENTS.md については標準化されつつある。以下を参照。

https://agents.md/


Tipsとショートカット

@を使ったファイル検索

@を使うと、ファイル名であいまい検索ができ、これをコンテキストに追加できる。

画像の入力

画像はコピペでそのまま入力に使える。もしくはCLIだと -i / --image で臥像を入力することができる。複数画像の場合はカンマ区切り。

ちょっと使い方が間違ってるけど例えば以下の画像の場合。

コピペで。

コマンドラインからだとこう。

codex -i ~/Desktop/kobe.jpg "この画像について説明して。"

以前のメッセージを編集

入力欄に何も入力されていない場合、ESCキーで「バックトレースモード」になる。そこで再度ESCを入力すると、最後に入力したメッセージがハイライトされ、続けてESCキーを入力するとさらに古いメッセージになる。

例えば、以下のような感じでメッセージを入力していたとする。

1回目
シンプルなToDoリストアプリを作成して。
2回目
ボタンの色を黄緑色にして。
3回目
背景をより薄い緑色にして。

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 で作業ディレクトリ指定

kun432kun432

サンドボックスと許可

https://github.com/openai/codex/tree/main/docs/sandbox.md

Codexは、Codex自身の実行に関して、2つのガードレール的な概念がある。

  • 許可モード(Approval modes)
  • サンドボックス

許可モード(Approval modes)

Codexの自動操作に対して制限の度合いを設定するモード。3つのモードがある

  1. Auto(デフォルト)
    • 作業ディレクトリの中は自動でファイル参照・編集・コマンド実行を許可。
    • 作業ディレクトリ外やインターネットアクセスが必要な場合は許可が求められる。
  2. Read Only
    • 参照のみ。
  3. 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が提供しているサンドボックス機構に合わせて用意されているらしい。

なお、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のサンドボックス機構ほとんど触ったことないので、また試してみよう。

kun432kun432

認証

https://github.com/openai/codex/tree/main/docs/authentication.md

従量課金の代替案: OpenAI APIキーの使用

上の方で試した時は、ChatGPTアカウントでログイン、つまり課金はChatGPTサブスクリプションとなっていたが、OpenAI APIキーを使うこともできる。この場合は従量課金となる。

codex login --api-key "<APIキー>"

APIキーの権限はResponses APIへの書き込み権限が最低でも必要。

なお、API利用の場合の料金はこれかな

https://platform.openai.com/docs/models/gpt-5-codex

基本的にはGPT-5と同じような料金と思っておけば良さそう。あと、codex-mini-latest っていうのもあるみたい。こちらはo4-miniがベースになっているらしい。

https://platform.openai.com/docs/models/codex-mini-latest


APIキーからChatGPTログインへの移行

以下のように行えば、APIキー課金からChatGPTサブスクリプションへ課金方法を変更することができる。

  1. Codex CLIのバージョンを0.20.0以上に上げる
  2. ~/.codex/auth.json を削除
  3. 再度 codex login

これは多分ChatGPTログインからAPIキーへの以降の場合も同じ。


ヘッドレス環境でのログイン

Codexでログインした際、ブラウザと連携して認証が行われていた。認証の最後の画面がこれ。

URLが localhost:1455 になっていることからわかるように、CodexがローカルでWebサーバを起動することで認証の連携を行っている。つまり、DockerなどのコンテナやリモートSSHホストでCodexログインを行う場合、そのままだと上手くいかない場合がある。

その場合は以下の2つの方法がある

  1. ローカルマシンで認証、作成されたクレデンシャル(~/.codex/auth.json)をコンテナやSSHサーバにコピーする。
  2. localhost:1455をリモートSSHホストの1455番ポートにSSHポートフォワードする

コマンド例などはドキュメント参照。Dockerならばクレデンシャルをマウントするのがお手軽だと思う。

kun432kun432

高度な使い方

https://github.com/openai/codex/tree/main/docs/advanced.md

非インタラクティブモード/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のドキュメントを参照
https://docs.rs/env_logger/latest/env_logger/#enabling-logging

kun432kun432

MCP

MCPサーバは、~/.codex/config.tomlmcp_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" }

こんな感じで使える

設定については以下ドキュメントにもあるが、

https://github.com/openai/codex/blob/main/docs/config.md#mcp_servers

ざっと見た感じ、現時点では 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サーバとして使うこともできる。ここはまたそのうち。

https://github.com/openai/codex/blob/main/tree/advanced.md#model-context-protocol-mcp

kun432kun432

カスタムプロンプト

READMEのリンクに書かれていないけど docs以外には他にもドキュメントがある。その中でとりあえずカバーしておくべきなのはこれかな。

https://github.com/openai/codex/tree/main/docs/prompts.md

~/.codex/prompts/ に Markdownファイル(.md)を置いておくと、カスタムスラッシュコマンドが使える。

このスクラップは2日前にクローズされました