「Kimi K3.1 Pro in Claude Code and Codex」と表示されたタイトルカード。サブヘッドは「設定、静かな失敗」、3つの統計チップには「Messages API」「Responses API」「1M context」と表示。
Guides & Insights

Claude CodeとCodexでKimi K3.1 Proを実行する:設定、サイレント障害、そして1行の切り替え

著者

Rowan Sterling

公開日

最新モデル · 20すべてのモデルを見る →
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

Kimi K3.1 Proは3つのプロトコルに対応しています。OpenAI Chat Completions、OpenAI Responses、Anthropic Messagesです。これこそが、翻訳プロキシなしでClaude CodeやCodexにそのまま組み込める理由です。各ツールはすでにこの3つのうちいずれかに対応しており、Moonshotがそのプロトコルをネイティブに提供しているからです。設定は、一方のケースではいくつかの環境変数、もう一方では5行のTOMLブロックです。人々が半日を費やすのは設定そのものではなく、失敗の仕方です。Claude Codeは用途ごとに4つの異なるモデル階層を使用しており、未設定のままの階層は、目立つ形ではなく黙って失敗します。

このガイドは、Moonshot 自身の連携ドキュメントに基づいて2026年10月24日に確認したもので、ドキュメントが埋もれさせている注意点も記載しています。同じツールを Moonshot に直接ではなくルーティングゲートウェイに向けた場合に値が異なる箇所については、その旨を明記しています。

プロキシが不要な理由

Claude Code talks to Anthropic's Messages API; Codex talks to the Responses API. Moonshot exposes both. Its Anthropic-compatible surface lives at https://api.moonshot.ai/anthropic and its Responses API at https://api.moonshot.ai/v1, and the model id is kimi-k3.1-pro on both. Nothing in either client needs to know it is not talking to the vendor it was built for.

設定の話に入る前に、ひとつ述べておくべき帰結があります。このモデルは常に推論を行います。思考のオン・オフを切り替える機能はなく、その深さはトップレベルのreasoning_effortフィールドで設定します。このフィールドは low、high、max を受け付け、デフォルトは max です。サンプリングパラメータは固定で、temperature は 1.0、top-p は 0.95、n は 1 となり、これ以外の値を渡すとエラーが返ります。以前の設定で temperature をチューニングしていた場合、その調整はこの切り替え後には引き継がれません。

Claude Code: 環境ブロック

Setup card headed One model, three protocols with four rows: Claude Code uses the Anthropic Messages API, Codex uses the OpenAI Responses API, the model id is kimi-k3.1-pro, and the key variable is ANTHROPIC_AUTH_TOKEN

Claude Code は設定をenv ブロックから読み込みます。その場所は ~/.claude/settings.json です。そこに書かれた変数は、シェルでエクスポートした同名の変数を上書きします。これは利点でもあり罠でもあります。ターミナルに残った古いエクスポートは、ファイルに別の内容が書かれていれば役には立ちません。

• ANTHROPIC_BASE_URL — the Kimi endpoint root. Set it to https://api.moonshot.ai/anthropic. If you leave it unset, requests go to Anthropic and fail authentication.

• ANTHROPIC_AUTH_TOKEN — Kimi APIキーです。これはClaude Codeがベアラートークンとして実際に使用する変数です。代わりにANTHROPIC_API_KEYにAPIキーを設定してしまうことが、一見正しく見える設定が401を返す最も一般的な原因です。

• ANTHROPIC_MODEL — メインの会話モデル:kimi-k3.1-pro。

• ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL, ANTHROPIC_DEFAULT_FABLE_MODEL — 各ティアに1つずつ。最低限最初の3つを設定し、HAIKUにはフラッグシップモデルではなく安価で高速なモデルを指定してください。Moonshot自身の例では、そのティアをコーディングモデルにマッピングしています。

• CLAUDE_CODE_SUBAGENT_MODEL — サブエージェントが使用するモデル。未設定の場合、サブエージェントの処理は品質が低下するか失敗します。

• CLAUDE_CODE_AUTO_COMPACT_WINDOW — 次の値に設定します: 1000000。これはコンテキストウィンドウに合わせた値です。小さすぎると早期に圧縮されてコンテキストが破棄され、大きすぎるとコンテキスト長エラーが発生します。

• CLAUDE_CODE_EFFORT_LEVEL — Moonshot社のガイドではこれをmaxに設定しており、これはモデルのデフォルトでもあります。下げると複雑なタスクでの品質が低下し、セッション途中で変更するとプレフィックスキャッシュのヒットが無効になります。

静かに失敗する4つの階層

これは計画しておく価値のある失敗です。Claude Code は、メインの会話、バックグラウンドでの要約、サブエージェント、小規模なユーティリティ呼び出しにそれぞれ異なるモデルを使用します。設定するのがANTHROPIC_MODELだけでは、他のパスはエラーになりません — 静かに何も有益なことをしないか、原因を明示しないままツールが壊れているように感じさせる形でフォールバックします。Moonshot のリファレンス表は、未設定の各ティアが対応するタスクの失敗を引き起こすことを明示しており、その症状は設定エラーというより、動作の遅い、あるいは混乱したエージェントのように見えます。

実用的なチェックリストは、4つのティア変数すべてとサブエージェント変数を1回の編集で設定し、Claude Codeを再起動してから、セッション内でサブエージェントが実際に実行されることを確認することです。停止する場合は、最初に確認すべきなのはモデルではなくティアです。

Codex: 1つのTOMLブロック

Codex reads ~/.codex/config.toml (on Windows, %USERPROFILE%\.codex\config.toml). The connection is defined by four values in a provider block: the model id kimi-k3.1-pro, a provider named kimi, base_url pointing at https://api.moonshot.ai/v1, the environment-variable name that holds the key, and — the setting that makes the direct connection work — wire_api = "responses". Set model_context_window to 1048576 as well; without it Codex falls back to default model metadata, which degrades behaviour on long inputs.

キー自体はファイル内ではなく環境に置くべきです。Codex は次で指定された変数からそれを読み取ります: env_key。そのため、config.toml に秘密情報を含めず、変数をシェルプロファイルまたはシステム環境に設定してください。

バグを報告する前に知っておくべき制限が2つあります。Codex CLIは、モデル自体は対応していても、動画を入力として受け付けません。これはCodexの入力レイヤーの制限なので、動画を扱う作業はAPIを直接通す必要があります。また、Codex独自のコンテキスト管理は引き続き適用されます。100万トークンのウィンドウがあっても、すべてのセッションでそれを使うべきというわけではありません。

両方のツールを代わりに1つのゲートウェイに向ける

Moonshot's Kimi platform documentation page titled Use Kimi in Claude Code, describing the Anthropic-compatible Messages API integration, with install commands for macOS, Linux, PowerShell and npmOrcaRouter's Kimi K3.1 Pro model page showing the identifier kimi/kimi-k3.1-pro, the three supported endpoints for chat completions, responses and messages, a 1M-token context window, 943K maximum output and $2.00 input and $10.00 output per million tokens

Moonshot のベース URL をゲートウェイのものに置き換えても、上記はすべてそのまま動作します。これは、同じコードベースで他のベンダーのモデルも呼び出す場合に便利です。OrcaRouter は Kimi K3.1 Pro 向けに 3 つのサーフェスすべてを公開しています — /v1/chat/completions、/v1/responses、そして/v1/messages — また、モデルは ID kimi/kimi-k3.1-pro で公開されています。

For Claude Code, that means ANTHROPIC_BASE_URL set to the gateway root (https://api.orcarouter.ai) with the provider-prefixed model id in the four tier variables. For Codex, the same TOML block with the base URL pointing at https://api.orcarouter.ai/v1 and the model id kimi/kimi-k3.1-pro. The key variable stays the same shape; it just holds a gateway key instead of a vendor key.

この置き換えで得られるのは、カタログ内のすべてのモデルに対する単一の認証情報と、アプリケーションコードを変更せずにベンダー間でリクエストを移動できるルーティングポリシーです。これにより、新しいモデルのエンドポイントがローンチ週にレート制限にかかった場合でもフォールバック計画を立てられます。失うのは、ベンダー自身のコンソールとベンダー固有のベータ提供面です。価格はプロバイダーの定価のまま渡されます。Kimi K3.1 Pro は入力100万トークンあたり $2.00、出力100万トークンあたり $10.00 で、マークアップは追加されません。

5分でできる確認

• クライアントに触れる前に、まずエンドポイントを直接叩いてください。Messages または Chat Completions ルートへ 1 トークンのリクエストを POST すると JSON が返るはずです。401 が返る場合は、キーが間違っているか、もう一方のプラットフォームのキーです。

• Claude Code で、サブエージェントの起動を余儀なくされる質問——複数のファイルにまたがる検索——を投げかけ、それが完了するかどうかを観察してください。これがティア設定の最も手早いテストです。

• Codex で小規模なリポジトリのセッションを開始し、モデルが 1M ウィンドウを報告するか確認します。より小さいデフォルト値が報告される場合は、model_context_window は反映されていません。

• セッションの開始時に一度だけ、意図的にエフォートを設定してください。難しいデバッグにはmax、通常の編集にはhigh、抽出と整形にはlowです。デフォルトはmaxで、このモデルではそれが高コストな選択肢です。