--profile `<name>` cannot be used while <path> contains legacy `[profiles.<name>]` config
結論
プロファイルの置き場所が変わった。`[profiles.X]` は使えず、`X.config.toml` に分ける。
確認した版
Codex CLI v0.153.0
確認日
2026年9月3日
最終更新
2026年9月3日
根拠
実機で確認
エラー文字列
--profile `<name>` cannot be used while <path> contains legacy `[profiles.<name>]` config
⚠️ 標準エラーに出て、終了コードは 1 です。
Error loading config.toml: --profile `work` cannot be used while
C:\Users\<名前>\.codex\config.toml contains legacy `profile = "work"` or `[profiles.work]` config;
move those settings into C:\Users\<名前>\.codex\work.config.toml and remove the legacy
profile selector/table. See https://developers.openai.com/codex/config-advanced#profiles
for more information.
何が起きているか
🔴 プロファイルの置き場所が変わりました。 設定が間違っているのではなく、書き方が古いという指摘です。
| 旧(使えない) | 新 | |
|---|---|---|
| 置き場所 | config.toml の中 |
プロファイルごとに別ファイル |
| 書き方 | [profiles.work] |
work.config.toml |
| 既定の選択 | profile = "work" |
🔴 廃止 |
⚠️ 今まで動いていた設定が、更新した日から突然使えなくなります。 壊れたのではありません。
⭐ メッセージが移動先のフルパスを教えてくれます。 探す必要はありません。
🔴 [profiles.X] が残っているだけで止まる
⚠️ そのプロファイルを使っていなくても関係ありません。 --profile を渡した時点で、config.toml に古い書き方が1つでも残っていれば止まります。
直し方
1. いまの config.toml を確認する
macOS / Linux
grep -n 'profile' "${CODEX_HOME:-$HOME/.codex}/config.toml"
Windows(PowerShell)
$h = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { "$env:USERPROFILE\.codex" }
Select-String -Path "$h\config.toml" -Pattern 'profile'
⚠️ CODEX_HOME が設定されていると ~/.codex は見られません。 先に確認してください。
2. 先にバックアップを取る
cp "${CODEX_HOME:-$HOME/.codex}/config.toml" "${CODEX_HOME:-$HOME/.codex}/config.toml.bak"
$h = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { "$env:USERPROFILE\.codex" }
Copy-Item "$h\config.toml" "$h\config.toml.bak"
3. プロファイルごとにファイルを分ける
config.toml にこう書いていたなら:
profile = "work"
[profiles.work]
model = "gpt-5.6"
approval_policy = "never"
work.config.toml を新しく作り、[profiles.work] の中身だけを移します。
model = "gpt-5.6"
approval_policy = "never"
🔴 [profiles.work] という見出しの行は移しません。 ファイル名がプロファイル名になります。
そのうえで config.toml から、見出しと profile = "..." の行を両方消します。
4. 使うときは毎回指定する
codex --profile work
⚠️ profile = "..." による既定の指定は廃止されました。 常に同じものを使いたい場合は、その内容を config.toml 本体に直接書いてください。
5. 動作を確認する
codex exec --profile work --skip-git-repo-check "hello"
冒頭に出る model: と provider: が、意図したものになっているか見てください。
似ているが別のエラー
再発防止
- 🔴 プロファイルは
<名前>.config.tomlに分ける。config.tomlの中の[profiles.X]は使えない profile = "..."による既定指定は廃止。使うときに毎回--profileを渡す- 更新後に設定まわりで止まったら、壊れたのではなく書き方が変わった可能性をまず疑う