Codexの設定は、config.toml というファイルに書きます。
コマンド版(CLI)、IDEの拡張機能、デスクトップアプリで、同じ設定ファイルを使います。
- 自分の設定:ホームフォルダの .codex/config.toml
- プロジェクトの設定:プロジェクトの .codex/config.toml(信頼したプロジェクトだけ読まれる)
- その回だけ変える:codex -c 項目=値
- 今の設定の確認:codex exec の実行時の表示
この記事は、2026年9月29日時点の公式ドキュメントと、Windows上の Codex CLI 0.158.0 で確かめた結果にもとづいています。
config.tomlの場所
| 種類 | 場所 | 読まれる条件 |
|---|---|---|
| ユーザー | ホームフォルダの .codex/config.toml(Windowsは %USERPROFILE%\.codex\config.toml) | いつも |
| プロジェクト | プロジェクトの .codex/config.toml | そのプロジェクトを信頼しているときだけ |
| プロファイル | 設定フォルダの(名前).config.toml | –profile 名前 で選んだときだけ |
設定フォルダの場所は、環境変数 CODEX_HOME で変えられます。
優先順位
同じ項目が複数の場所にあると、上のほうが勝ちます。
- コマンドの指定(-c・–config など)
- プロジェクトの .codex/config.toml(今いるフォルダに近いものが勝つ)
- –profile で選んだプロファイル
- ユーザーの config.toml
- ワークスペースの管理者が決めた初期値
- システムの設定
- Codexの初期値
実際に確かめた
codex exec で動かすと、最初に使った設定が表示されます。
codex exec --skip-git-repo-check "こんにちは、とだけ答えて"OpenAI Codex v0.158.0
--------
workdir: C:\demo\codex-demo
model: gpt-6-astra
provider: openai
approval: never
sandbox: read-only
reasoning effort: medium
reasoning summaries: none
--------これはユーザーの config.toml の設定です。
プロジェクトの設定は、信頼するまで効かない
練習用のフォルダに、次の .codex/config.toml を置きました。
model_reasoning_effort = "low"
sandbox_mode = "workspace-write"置いただけでは、表示は reasoning effort: medium、sandbox: read-only のまま変わりませんでした。
そのフォルダを信頼済みにすると、プロジェクトの設定が使われました。
approval: never
sandbox: workspace-write [workdir, /tmp, $TMPDIR]
reasoning effort: low信頼したフォルダは、ユーザーの config.toml に次のように記録されます。
[projects.'c:\demo\codex-demo']
trust_level = "trusted"ふつうは、初めてそのフォルダで Codex を開いたときの確認で「信頼する」を選ぶと書き込まれます。
-cでその回だけ変える
codex exec -c model_reasoning_effort='"high"' "こんにちは、とだけ答えて"sandbox: read-only
reasoning effort: high-c の値はTOMLとして読まれるので、文字列はダブルクォートで囲みます。
よく使う設定項目
| 項目 | 決めること | 主な値 |
|---|---|---|
| model | 使うモデル | モデル名 |
| model_reasoning_effort | 考える深さ | low・medium・high など(モデルによる) |
| approval_policy | コマンドを実行する前に確認するか | on-request(必要なときに聞く)・never(聞かない) |
| sandbox_mode | ファイルやネットにどこまで触れるか | read-only・workspace-write・danger-full-access |
| sandbox_workspace_write.network_access | workspace-write のときにネットを使うか | true・false |
| web_search | Web検索 | disabled・cached・indexed・live |
| service_tier | 処理の速さの区分 | fast など(モデルによる) |
| history.persistence | 会話の記録を残すか | save-all・none |
| project_doc_max_bytes | AGENTS.md を読む上限(バイト) | 数値 |
書き方の例です。
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
[sandbox_workspace_write]
network_access = falsedanger-full-access は、サンドボックスを外してPC全体に触れられる状態です。
使うのは、ほかの方法で隔離された環境の中だけにします。
config.tomlでよくあるエラー
当方の環境では、古いコマンド版を動かしたときに次のエラーが出て止まりました。
Error loading configuration: C:\Users\(ユーザー名)\.codex\config.toml:6:16: unknown variant `default`, expected `fast` or `flex`6行目の service_tier = “default” という値を、古い版(0.128.0)が知らなかったためです。
この値は、新しいデスクトップアプリが書いたものでした。
コマンド版を新しくすると、エラーは出なくなりました。
npm install -g @openai/codex@latestエラーには、ファイル名・行・文字の位置が出るので、その場所を見れば原因の項目が分かります。
デスクトップアプリとコマンド版を両方使うなら、コマンド版も新しくしておきます。
まとめ
- 自分の設定はホームの .codex/config.toml
- プロジェクトの .codex/config.toml は、信頼したフォルダでしか読まれない
- 強い順は、コマンドの指定 → プロジェクト → プロファイル → ユーザー
- codex exec の実行時の表示で、今の設定を確かめられる
- unknown variant のエラーは、版が古いときにも出る
参考:Codex公式ドキュメント「Config basics」「Configuration reference」(2026年9月29日に確認)。
