Claude Code のエラー

Model ... is not a recognized model id

結論

指定したモデルIDが存在しない状態。設定や環境変数の書き間違いが主因。

確認した版 Claude Code v2.1.259
確認日 2026年9月3日
文言の照合 Claude Code v2.1.259
最終更新 2026年9月3日
根拠 一次情報で確認

エラー文字列

Claude Code
Model ... is not a recognized model id

何が起きているか

指定されたモデルIDが、利用可能なモデルのどれとも一致しませんでした。

指定の出どころは複数あります。エラーが出たら、どこから来た値なのかを特定するのが先です。

出どころ 確認方法
コマンドライン引数 実行したコマンドを見直す
環境変数 ANTHROPIC_MODEL env で確認
環境変数 ANTHROPIC_DEFAULT_MODEL 同上
settings.jsonmodel ユーザー設定・プロジェクト設定の両方

⚠️ ANTHROPIC_MODELANTHROPIC_DEFAULT_MODEL より強い。 両方に値が入っていると、後者を直しても変わりません。

🔴 止まらずに続くほうが厄介

同じ「知らないモデルID」でも、出るメッセージが2種類あります。

出るもの 挙動
Model "..." is not a recognized model id. その場で止まる
"..." isn't described by this version's model catalog 止まらない。そのまま動く

v2.1.259 で --model bogus-9999 を渡して実測したところ、後者が出て処理は続きました。

"bogus-9999" isn't described by this version's model catalog; update Claude Code, or map it
with behavesAs on a modelPicker row (or modelOverrides, if it is a provider id of a model
this version knows). Until then auto-compact keeps this session within 200k tokens
(the context window it assumes)

⚠️ この文言は v2.1.259 で書き換わりました。 古い版では is not a model this version of Claude Code recognizes と出ていました。 古い記事を見ている場合は、手元の版を確かめてください。

⚠️ これは標準エラーに出る警告で、終了コードは変わりません。 気づかずに使い続けることになります。

起きるのは次のことです。

コンテキスト長を 200k と仮定する 実際にそれより広くても、200k で自動圧縮が始まる
会話が早く切り詰められる 「前に言ったことを忘れる」形で表面化する
エラーとしては扱われない ログを grep しても失敗として出てこない

「動いてはいるが、やたら早く忘れる」ときはこれを疑ってください。 メッセージ自身が3つの回避策を挙げています。

やり方 内容
更新する 新しいモデルなら、版を上げるのが一番早い
1M を使う モデル名の末尾に [1m] を付ける
窓を明示する CLAUDE_CODE_MAX_CONTEXT_TOKENS に実際の値を入れる
認識させる modelPicker の行に behavesAs を書く、または modelOverrides

behavesAs は v2.1.259 で案内されるようになりました。 知らないモデルを「既知のどれと同じ振る舞いか」で対応付けます。

よくある原因

原因
打ち間違い・古い書き方 世代が変わってIDの形式が変わった
表示名をIDとして書いた Sonnet のような表示名は ID ではない
接続先が違う Bedrock / Vertex AI ではIDの体系が異なる
コピー時に余計な文字が入った 前後の空白、引用符、改行

Bedrock や Vertex AI 経由で使っている場合、Anthropic API 用のモデルIDはそのまま使えません。 各プラットフォームのID体系に従う必要があります。ここが見落とされがちです。

直し方

1. 使えるモデルを一覧で見る

/model

表示された中から選ぶのが確実です。 手で打つ必要はありません。

2. どこで指定されているか探す

macOS / Linux

env | grep -iE 'anthropic_model|anthropic_default_model'
grep -n '"model"' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/null

Windows(PowerShell)

Get-ChildItem Env: | Where-Object Name -match 'ANTHROPIC_MODEL|ANTHROPIC_DEFAULT_MODEL'
Select-String -Path "$env:USERPROFILE\.claude\settings.json", ".claude\settings.json", ".claude\settings.local.json" -Pattern '"model"' -ErrorAction SilentlyContinue

優先順位は「コマンドライン → 環境変数 → プロジェクト設定 → ユーザー設定」です。上位に残っていると、下位を直しても変わりません。

3. 余計な文字が混ざっていないか確認する

コピー&ペーストで前後に空白や引用符が入ることがあります。

Windows(PowerShell)— 実際の中身をバイト単位で確認する

$v = $env:ANTHROPIC_MODEL
"[{0}] 長さ={1}" -f $v, $v.Length

表示された文字列より 長さ が大きければ、見えない文字が入っています。

macOS / Linux

printf '[%s] %d\n' "$ANTHROPIC_MODEL" "${#ANTHROPIC_MODEL}"

4. 設定を外して既定に戻す

まず動く状態に戻してから、必要なら改めて指定し直すのが早道です。

unset ANTHROPIC_MODEL
unset ANTHROPIC_DEFAULT_MODEL
claude
Remove-Item Env:ANTHROPIC_MODEL -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_DEFAULT_MODEL -ErrorAction SilentlyContinue
claude

恒久的に消す場合は次のとおりです。

[Environment]::SetEnvironmentVariable("ANTHROPIC_MODEL", $null, "User")

settings.json から消す場合は、JSON の構文を壊さないように注意してください。 行を削除した結果、末尾にカンマが残ると Could not read Claude Code config になります。

5. Bedrock / Vertex AI を使っている場合

まず、どの接続先を使っているか確認します。

env | grep -E 'CLAUDE_CODE_USE_BEDROCK|CLAUDE_CODE_USE_VERTEX|ANTHROPIC_BASE_URL'

有効になっている場合、そのプラットフォームで利用可能なモデルIDを、そのプラットフォームのコンソールで確認してください。リージョンによって使えるモデルが違うこともあります。

意図せず有効になっているなら、外してください。

unset CLAUDE_CODE_USE_BEDROCK

6. 現在の状態を確認する

/status

設定を直したら必ずここで反映を確認してください。 別の場所に残っていた指定が効いている、というのが最も多い「直したのに直らない」の正体です。

再発防止

  • モデルは /model から選ぶ。 手打ちや設定ファイルへの直書きは、世代が変わるたびに壊れます
  • チームで共有する .claude/settings.json にモデルIDを固定しない。各自のプランと接続先が違います
  • 環境変数でモデルを固定するのは、CI など理由がある場合だけにする
  • 設定を消したら /status で確認する

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する