Error: Model provider `<name>` not found
`model_provider` に書いた名前が、定義済みのどれとも一致しない状態。既定以外を使うには自分で定義が要る。
エラー文字列
Error: Model provider `<name>` not found
⚠️ 標準エラーに出て、終了コードは 1 です。
Error: Model provider `nope` not found
何が起きているか
model_provider に指定した名前が、その時点で定義済みのプロバイダのどれとも一致していません。
⭐ model_provider は「接続先の名前」であって、モデル名ではありません。 ここを取り違えているのが最も多い原因です。
| 書いたもの | 結果 |
|---|---|
model_provider = "gpt-5" |
🔴 モデル名を入れている。プロバイダとしては存在しない |
model_provider = "azure" |
🔴 [model_providers.azure] を自分で定義していなければ存在しない |
model = "gpt-5" |
⭐ モデルはこちら |
指定の出どころは3か所
| 出どころ | 例 |
|---|---|
config.toml |
model_provider = "..." |
| コマンドラインの上書き | codex --config model_provider=... |
| プロファイル | <名前>.config.toml の中の model_provider |
⚠️ プロファイルを使っていると見落とします。 config.toml の先頭だけ見ても、実際に効いているのはプロファイル側かもしれません。
🔴 v0.153.0 でプロファイルの置き場所が変わりました。
config.toml の中の [profiles.X] は使えません。X.config.toml に分けます
(詳細)。
🔴 ollama-chat は廃止された
以前使えた名前が消えています。この場合は専用のメッセージが出ます。
Error: `ollama-chat` is no longer supported.
How to fix: replace `ollama-chat` with `ollama` in `model_provider`, `oss_provider`, or `--local-provider`.
More info: https://github.com/openai/codex/discussions/7782
⭐ ollama-chat → ollama に置き換えるだけです。 3か所とも見てください。
直し方
1. どこで指定しているか探す
macOS / Linux
grep -rn 'model_provider\|oss_provider' "${CODEX_HOME:-$HOME/.codex}/config.toml"
Windows(PowerShell)
$home_ = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { "$env:USERPROFILE\.codex" }
Select-String -Path "$home_\config.toml" -Pattern 'model_provider|oss_provider'
⚠️ CODEX_HOME が設定されていると ~/.codex は見られません。 先に CODEX_HOME の有無を確認してください。
2. 既定に戻して切り分ける
まず動く状態に戻します。model_provider の行を消せば既定(OpenAI)に戻ります。
一時的に外して試すこともできます。
codex exec --config model_provider=openai "hello"
これで通るなら、原因は config.toml かプロファイル側の指定です。
3. 自分のプロバイダを定義する
既定以外に繋ぐには、名前を書くだけでは足りません。 定義そのものが要ります。
model_provider = "myollama"
[model_providers.myollama]
name = "Ollama"
base_url = "http://localhost:11434/v1"
wire_api = "chat"
🔴 [model_providers.<名前>] の <名前> と、model_provider の値は完全に一致していなければなりません。 大文字小文字も含めて一致が必要です。
4. 打ち間違いを疑う
⚠️ 知らないキー名は黙って無視されます。 model_providers を model_provider と書いた(あるいはその逆)場合、定義したつもりのブロックがまったく読まれていません。
| キー | 意味 |
|---|---|
model_provider |
単数。どれを使うか |
[model_providers.X] |
複数形。定義そのもの |
5. プロファイルを使っている場合
codex exec --profile PROFILE_NAME "hello"
⚠️ PROFILE_NAME は実際の名前に置き換えてください。
プロファイル側の model_provider が優先されます。そちらに古い名前が残っていないかを確認してください。
似ているが別のエラー
再発防止
- 🔴
model_providerは接続先の名前。モデル名ではない - 既定以外を使うなら
[model_providers.<名前>]の定義とセットで書く ollama-chatは使えない。ollamaに置き換える- 単数(
model_provider)と複数形(model_providers)を書き分ける。間違えても警告は出ない