Claude Codeが独自APIで400になる:Artifactスキーマとバージョンを確認
Artifactのinput_schemaに起因するClaude Codeの互換性問題を見分け、修正版と実行環境を確認する手順。他の400エラーとは分けて調べます。
更新後にClaude Codeが毎ターン失敗し、エラーにArtifactツールの入力スキーマ内の不正な正規表現が示されている場合は、APIキーやモデルを変える前にクライアントのバージョンを確認します。公式リポジトリのユーザー報告 #92969では、2.1.265と2.1.266でUnicodeプロパティエスケープを含むスキーマのpatternが厳格なバリデーターに拒否される問題が報告されています。
これは特定の過去の互換性問題です。すべてのHTTP 400の原因でも、現行クライアント全体で未修正の問題でもありません。公式変更履歴では、他社エンドポイント向けの修正が2.1.268に記載されています。
先にエラーの内容を照合する
確認の手掛かりは、対象バージョンへの更新後に始まったこと、他社のAnthropic互換エンドポイントを使っていること、エラーがArtifactのスキーマや「not a regex」とされるpatternを指していることです。メッセージの表現はバリデーターによって異なります。
スキーマの拒否はモデルが回答する前に起こります。そのため、複雑なコーディング依頼を挨拶に変えても同じエラーが出る場合があります。モデル自体の故障を意味するわけではなく、リクエストに含まれるツール定義が拒否されている可能性があります。
| エラーの手掛かり | 調査する対象 |
|---|---|
| Artifactのinput_schemaと不正なpattern | 影響を受ける版と修正版 |
| tool_use後のtool_result不足 | 会話とツール結果の順序 |
| thinkingの署名が不正 | thinkingブロックの保持と提供者の互換性 |
| 401・403 | 認証・認可を別途確認 |
| 429 | スキーマではなく利用上限 |
この表は調査先を整理するもので、自動的に原因を確定するものではありません。機密情報を除いた完全なエラーを保存し、フィールドのパスを元の報告と照合します。一件の拒否を理由に無関係な保護設定を外したり、すべてのツールスキーマを書き換えたりしないでください。
実際に動いている版を調べる
まずコマンドの出力を確認します。
claude --version
端末、IDE、バックグラウンドワーカーを使う場合は各環境を確認します。別のインストールが動いていることがあります。通常の方法で更新し、該当クライアントやワーカーを再起動してから再度バージョンを確認してください。
2.1.268は修正を含む過去の版であり、新しいサポート対象版からダウングレードする推奨ではありません。組織でサポートする現行版を使います。意図的に影響のある版へ固定しているなら、その固定も診断対象として通常の更新手順に従います。
更新が必要なのは、リクエストを組み立てるクライアントです。手元の別端末だけを更新しても、別途デプロイされたワーカーは変わりません。失敗したリクエストと再テストを送ったプロセスを記録します。
長いタスクを再開する前に一件を再テストする
最初は提供者とモデルを変えず、影響のないタスクで元の拒否が残るか調べます。更新後に成功すれば、その構成では診断を支持する結果になりますが、提供者の全機能を保証するものではありません。
続いて対象のツール処理を試します。テキスト応答だけでは同じツールの流れを確認できません。クライアント版、ルート、実行時刻、機密情報を除いたエラー、リクエストIDを残します。現行版でも拒否される場合は、新しいエラーのフィールドを確認し、同じ過去の不具合と決めつけないでください。
本記事は上流のIssueとリリース記録に基づいています。Ofoxの本番環境で再現した、複数ゲートウェイで成功率を測った、という主張はしていません。
「Anthropic互換」だけでは十分でない理由
認証、メッセージ構造、ストリーミングが互換でも、受け付けるJSON Schema機能は異なる場合があります。報告された問題は、組み込みツール定義のpatternを検証器がどう扱うかという問題であり、モデルのコード推論能力とは別です。
生成された正規表現を不用意に修正したり、本番の検証を無効化したりしないでください。意図しない値を受け入れたり、別の互換性問題を隠したりする恐れがあります。まず上流のクライアント修正を適用し、残る問題は機密情報を除いた最小例で提供者に伝えます。
報告には拒否された構文を示す最小のスキーマ断片を使い、非公開プロジェクトのプロンプト全体は送らないでください。ソースコード、環境変数、会話履歴を渡さなくても検証器の調査に必要な情報を提示できます。
他の400エラーとは分ける
tool_result不足のガイドは中断や不正なツール交換を、thinking署名のガイドはメッセージ保持に関する別の問題を扱います。エラーの根拠が一致しない限り、Artifactの説明で置き換えないでください。
サポートへの報告はクライアント版、接続先の種類、拒否されたフィールド、正確なエラーから始めます。「Claude Codeが動かない」だけでは、修正済みのクライアント問題と現在の提供者側の問題を区別できません。
よくある質問
- Artifactのpatternの問題を修正した版は?
- 公式変更履歴には2.1.268と記載されています。その過去の版へ戻すのではなく、サポート対象の現行版を使ってください。
- APIキーを交換すべきですか?
- スキーマ検証エラーは、キーが無効である証拠ではありません。応答が認証を示す場合は別途調べますが、キー交換はこのpattern問題の文書化された修正策ではありません。
- 独自エンドポイントの400はすべてこの原因ですか?
- いいえ。フィールド、クライアント版、エラー文を照合してください。ツール結果の順序、未対応パラメーター、thinking署名はそれぞれ別に調べる必要があります。


