メインコンテンツへスキップ

Claude CodeでGPT-6 Astraを使う連携設定:LiteLLMとCodexプラグイン

Claude CodeでGPT-6 Astraを使う方法はLiteLLM経由とCodexプラグインの2つです。2026年11月12日の実測では修正1件が定価約$0.23でした。

LaoZhang AI Team公開24 分で読めます
目次
Claude CodeからGPT-6 Astraを使う2つの構成:LiteLLMでメインモデルにする方法とCodexプラグインで任せる方法

Claude Codeの中でGPT-6 Astraを使う方法は2つあります。Astraをメインモデルにするなら、Claude CodeとOpenAI互換のAPIの間にLiteLLMのプロキシを置き、ANTHROPIC_BASE_URLをそのプロキシに向けて、ANTHROPIC_DEFAULT_OPUS_MODELなどのモデル指定をgpt-6-astraにします。Claudeをメインモデルのまま一部の作業だけAstraに任せるなら、OpenAI公式のCodexプラグインを入れて/codex:rescue --model gpt-6-astraで渡します。2026年11月12日に、LiteLLMの構成はClaude Code 2.1.316で、Codexプラグインは/codex:rescueが内部で呼ぶスクリプト(--model gpt-6-astra --effort medium)を直接実行して試し、どちらもPythonの小さなバグ修正を終えてテスト4件を通しました。

どちらにするかは、主に支払い方で決まります。APIの従量課金でよく、ファイルの読み書きやコマンド実行までAstraに任せたいならLiteLLMの構成です。ChatGPTのPlus以上のプランでCodexを使っていて、その利用枠で動かしたいならCodexプラグインです。どちらの場合も、Claude CodeのLLMゲートウェイに関する公式ドキュメントにあるとおり、AnthropicはClaude以外のモデルへのルーティングをサポートしていません。禁止されているわけではありませんが、不具合が出ても公式の助けはなく、機能が壊れる可能性があります。

ANTHROPIC_BASE_URLをOpenAI互換のゲートウェイへ直接向けるだけでは動かないことがあります。laozhang.aiのClaude形式のエンドポイント(/v1/messages)にgpt-6-astraを送ると、2026年11月12日時点では503が返りました。使うゲートウェイのClaude形式のエンドポイントがAstraを受け付けるかは、設定を書き換える前にcurlを1回送れば分かります。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

Astraをメインにするか、Claudeから任せるか:2つの構成の違い

Astraに作業全体を任せたいならLiteLLM、判断はClaudeに残して手を動かす部分だけAstraに渡したいならCodexプラグインです。前者ではAstraがClaude Codeのツール(Read、Edit、Bashなど)を直接呼び、Claude Codeの画面はそのままに中身のモデルだけが入れ替わります。後者ではClaudeが会話を続け、/codex:rescueで渡したタスクだけを、Codex CLIの上で動くAstraが処理します。「Claude CodeとCodexをどう使い分けるか」で迷っているなら、この後者の形がそのまま答えになります。

比べる点LiteLLMでAstraをメインにするCodexプラグインでAstraに任せる
作業を進めるモデルAstra(Claude Codeのツールを直接使う)Claude(渡したタスクだけCodex上のAstra)
支払いOpenAIまたはOpenAI互換ゲートウェイのAPI従量課金ChatGPTプランのCodex利用枠、またはOpenAI APIキー
必要なものLiteLLMの常駐、APIキー、環境変数6つNode.js 18.18以上、Codex CLIのログイン、プラグイン
Astraの指定方法ANTHROPIC_DEFAULT_OPUS_MODELなどにgpt-6-astra--model gpt-6-astra
2026年11月12日の実測19.2秒、テスト4/4、定価で約$0.22828秒、テスト4/4
弱いところClaude Codeの費用表示がずれる、Claude向け機能は未検証Claude側の利用量も別に消費する

2つの実測は同じタスクですが、effortがLiteLLM側はhigh、プラグイン側はmediumで、動いている仕組みも違います。秒数やトークン数を並べて「どちらが速い・安い」とは言えません。また、AstraとClaude Fableのどちらを主に使うべきかというモデル選びの問題は、GPT-6 AstraとClaude Fable 5.2比較:effort対応と1タスクの費用で判断できます。

LiteLLMでAstraをメインモデルにする設定手順

LiteLLMは、Claude Codeが送るAnthropicのMessages形式を受け取り、OpenAIの形式に変換して上流へ送るプロキシです。間に置く理由は、Claude CodeがClaude形式でしか話さないのに対し、AstraはOpenAIの形式で提供されているからです。OpenAIのAPIでは、Astraのツール呼び出し(function calling)はResponses APIでしか使えず、Chat Completionsでは使えません。2026年11月12日のテストでは、LiteLLMは上流への呼び出しをすべて/v1/responsesに送っていたので、この制約に引っかかりませんでした。

手順は次のとおりです。テストではLiteLLM 1.109.1(Python 3.12の仮想環境)、Claude Code 2.1.316を使い、上流はlaozhang.aiのOpenAI互換エンドポイント(https://api.laozhang.ai/v1)でした。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

  1. LiteLLMをプロキシ機能つきで入れます。LiteLLMのドキュメントはuv tool install 'litellm[proxy]'を案内しています。
  2. 次のlitellm-config.yamlを作ります。gpt-6-lunaは、Claude Codeがセッションタイトルの生成などに使うHaiku用のモデル指定に割り当てるためのものです。
yaml
model_list:
  - model_name: gpt-6-astra
    litellm_params:
      model: openai/gpt-6-astra
      api_base: https://api.laozhang.ai/v1
      api_key: os.environ/LAOZHANG_API_KEY
  - model_name: gpt-6-luna
    litellm_params:
      model: openai/gpt-6-luna
      api_base: https://api.laozhang.ai/v1
      api_key: os.environ/LAOZHANG_API_KEY
litellm_settings:
  drop_params: true
  1. キーを環境変数に入れて、プロキシを起動します。LITELLM_MASTER_KEYは自分で決める長いランダムな文字列で、Claude Codeがプロキシに接続するときの鍵になります。プロキシはこのターミナルで動き続けるので、手順4と5は別のターミナルで行い、そこでも同じ値のLITELLM_MASTER_KEYを設定し直します。
bash
export LAOZHANG_API_KEY="<上流のAPIキー>"
export LITELLM_MASTER_KEY="sk-<長いランダムな文字列>"
litellm --config litellm-config.yaml --host 127.0.0.1 --port 4011
  1. Claude Codeを起動する前に、プロキシがClaude形式の要求にAstraで答えるかをcurlで確かめます。応答のmodelがgpt-6-astraになっていれば、変換は動いています。
bash
export LITELLM_MASTER_KEY="sk-<手順3と同じ文字列>"
curl -X POST http://127.0.0.1:4011/v1/messages \
  -H "Authorization: Bearer $LITELLM_MASTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-6-astra", "max_tokens": 200, "messages": [{"role": "user", "content": "Which model are you?"}]}'
  1. 手順4と同じターミナルでClaude Codeの環境変数を設定し、起動します。
bash
export ANTHROPIC_BASE_URL="http://127.0.0.1:4011"
export ANTHROPIC_AUTH_TOKEN="$LITELLM_MASTER_KEY"
export ANTHROPIC_MODEL="gpt-6-astra"
export ANTHROPIC_DEFAULT_OPUS_MODEL="gpt-6-astra"
export ANTHROPIC_DEFAULT_SONNET_MODEL="gpt-6-astra"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="gpt-6-luna"
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=272000   # 任意。理由は後述の警告の節
claude

モデル指定の変数を4つとも書くのは、Claude Codeが用途ごとに別の指定を読むからです。--modelなしで起動したメインのセッションはOpus用の指定(ANTHROPIC_DEFAULT_OPUS_MODEL)で動き、対話モードのセッションタイトルはHaiku用の指定へ送られます。どれかが抜けていると、Claude Codeはプロキシが知らないClaudeのモデルIDを要求してしまいます。各変数がどこで使われるかはGLM-5.3-FlashをClaude Codeで使う設定:モデル割り当てとeffortで同じ仕組みを詳しく説明しています。同じ変数はsettings.jsonのenvにも書けます。ファイルの場所と、シェルの値とどちらが優先されるかはClaude Code API 設定:キー、settings.json、モデル、ゲートウェイの確認手順を参照してください。

OpenAIのAPIキーでapi.openai.comに直接つなぐ場合は、LiteLLMのチュートリアルのとおりapi_baseの行を消し、api_keyをos.environ/OPENAI_API_KEYにした同じ設定になります。この組み合わせは今回のテストでは動かしていません。OpenAI側でAstraを使えるかどうかはGPT-6 Astra APIの始め方:利用権限の確認から最初の応答までの手順で確認できます。

本当にGPT-6 Astraが応答しているかを確かめる

応答したモデルは、Claude Codeの画面と/status、そしてプロキシのログの3か所で確かめられます。2026年11月12日に上の設定で対話モードを起動すると、ヘッダーに次の2行が出ました。

gpt-6-astra · API Usage Billing
⚠ Model "gpt-6-astra" isn't recognized · context assumed to be 200k tokens · update Claude Code, or see https://code.claude.com/docs/en/model-config

/statusにはAuth token: ANTHROPIC_AUTH_TOKEN、Anthropic base URL: http://127.0.0.1:4011、Model: gpt-6-astraと表示されました。ここまではClaude Code側の設定が読み込まれたことの確認で、実際に上流へ何が送られたかはLiteLLMのログに残ります。LiteLLMを--detailed_debugつきで起動すると上流への要求がログに出ます。そのログでは、上流への呼び出しがすべてhttps://api.laozhang.ai/v1/responses宛て、モデルはgpt-6-astraでした。最初のメッセージを1回送るとプロキシには3件の要求が届き、2件がgpt-6-astra、1件がセッションタイトル用のgpt-6-lunaでした。ログにgpt-6-lunaが混ざるのはこのためです。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

Claude CodeのメッセージがLiteLLMを経てgpt-6-astraへ2件、gpt-6-lunaへ1件届く流れと、ヘッダー・/status・LiteLLMのログで応答モデルを確かめる3か所

モデルに「あなたは誰か」と聞く方法は、証拠としては弱いと考えてください。LiteLLM経由のテストではAstraが「I am GPT-6 Astra (gpt-6-astra)」と答えましたが、後述のCodexプラグインのテストでは同じAstraが「I'm Codex, based on GPT-6.」と答えました。そのときCodexのセッションファイルには"model":"gpt-6-astra"と記録されています。モデルの自己紹介ではなく、ログやセッションファイルのモデル名で判断するのが確実です。

1タスクの費用:定価で約$0.23、Claude Codeの表示は約半分

LiteLLM経由で動かした小さな修正タスクは、Astraの定価で約$0.228でした。一方、Claude Code自身が表示した費用は$0.114で、約半分です。Claude Codeはgpt-6-astraの単価を持っておらず、出力JSONのcostBasisは"unknown"でした。この構成では、Claude Codeの費用表示を請求額の目安にしないでください。

テストは2026年11月12日、Claude Code 2.1.316、LiteLLM 1.109.1、上流laozhang.aiで、2つのバグがあるPythonファイルを直してunittestの4件を通すタスクを、effortを変えて3回実行しました。effortはAstraのreasoning.effortにそのまま届いています。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

Claude Codeの設定Astraに届いたeffort所要時間ターン数出力トークン(うち推論)定価での費用Claude Codeの表示
指定なし(既定)high19.2秒7521(37)$0.228$0.114
CLAUDE_CODE_EFFORT_LEVEL=lowlow17.5秒5364(0)$0.203$0.101
CLAUDE_CODE_EFFORT_LEVEL=maxmax34.4秒91,531(963)$0.289$0.144

定価での費用は、ゲートウェイが返したトークン数にAstraの100万トークンあたりの定価(入力$10、キャッシュ書き込み$12.50、キャッシュ読み込み$1、出力$50)を掛けた推定で、請求額ではありません。既定の実行なら、キャッシュなし入力12、キャッシュ書き込み11,728、キャッシュ読み込み55,265、出力521トークンなので、次のようになります。

(12 × $10 + 11,728 × $12.50 + 55,265 × $1 + 521 × $50) ÷ 1,000,000 = $0.228

既定effortの修正1件の定価$0.228の内訳(キャッシュ書き込み約64%)と、3回の実行で定価とClaude Codeの費用表示を比べた棒グラフ

このうち約64%($0.147)は、最初のキャッシュ書き込みです。Claude Codeは毎回約11.7Kトークンのシステムプロンプトとツール定義を送るため、どんなに小さな依頼でもこの分が最初にかかります。実際の開発セッションはこのタスクよりずっと大きいので、金額もそれに応じて増えます。また、Astraは1回の要求の入力が272Kトークンを超えると、その要求全体が入力$20、出力$75、キャッシュ読み込み$2、キャッシュ書き込み$25の単価になります。単価の一覧と長文・Batchの計算はGPT-6 Astra API料金:10種類の単価と長文・Batch・Fastの計算方法、effortの既定値と設定方法はClaude Code の effort とは:既定値・おすすめ・設定が効かない原因にあります。

3回はどれも1回ずつの実行で、易しいタスクでした。effortがそのまま届くことは確かめられましたが、どのeffortが良いかまでは、この結果からは分かりません。

CodexプラグインでClaudeからAstraに作業を任せる手順

Claudeをメインモデルのまま使うなら、OpenAIが公開しているCodexプラグイン(openai/codex-plugin-cc)を入れます。必要なのはNode.js 18.18以上と、ChatGPTアカウントかOpenAI APIキーです。ChatGPTでログインした場合の使用量は、そのアカウントのCodex利用枠から引かれます。ただしAstraを指定できるのは、ChatGPTのPlus、Business、Proのプランです(各プランの枠は後述のよくある質問を参照)。

  1. Claude Codeの中で、プラグインのマーケットプレイスを追加してインストールし、読み込み直してからセットアップを実行します。/codex:setupはCodex CLIの準備ができているかを確認し、未インストールでnpmがあれば導入を提案します。
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup
  1. 作業を渡すときは、モデルを明示して/codex:rescueを使います。--modelを省くと、Codexは自分の既定モデルを選ぶので、Astraになるとは限りません。
/codex:rescue --model gpt-6-astra --effort medium 失敗しているテストを直して
  1. --backgroundをつけて裏で動かした場合は、/codex:statusで進み具合を、/codex:resultで結果を確認します。止めるときは/codex:cancelです。

/codex:rescueの中身はcodex:codex-rescueというサブエージェントで、インストールされたファイルを見ると、このサブエージェント自体はClaudeのsonnetで動き、既定で--writeをつけてCodexにファイルの編集を許可します。つまり、Astraに任せている間もClaude側の利用量は少し消費され、Codexは作業ディレクトリのファイルを書き換えます。

2026年11月12日に、新しい設定ディレクトリへプラグイン1.0.6を入れ、ChatGPTでログインしたCodex CLI 0.166.0を使って試しました。サブエージェントがプラグインのスクリプトを呼ぶのと同じ形(codex-companion.mjs task --write --model gpt-6-astra --effort medium)で、LiteLLMのときと同じタスクを渡すと、28秒でテスト4件が通りました。Codexのセッションファイルには"model":"gpt-6-astra"と"reasoning_effort":"medium"が記録され、入力130,507トークン(うちキャッシュ112,128)、出力369トークンでした。対話中のClaudeセッションで/codex:rescueを打つ操作そのものは今回は実行しておらず、動かしたのはそれが呼び出すスクリプトです。

最初に出るエラー:503 no available channelsと未認識モデルの警告

Claude CodeでAstraを動かそうとして最初に出やすいのは、次の3つです。エラーの原文で探してください。

503「has no available channels for model gpt-6-astra」

ANTHROPIC_BASE_URLをlaozhang.aiに直接向け、モデル指定を4つともgpt-6-astraにしてClaude Code 2.1.316を起動すると、2026年11月12日には次のエラーになりました。curlでhttps://api.laozhang.ai/v1/messagesに送った場合も、ツールの有無にかかわらず同じHTTP 503で、課金はされていません。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

API Error: 503 Current group default has no available channels for model gpt-6-astra under billing mode [pay-as-you-go, pay-per-request] (request id: …). This is a server-side issue, usually temporary — try again in a moment. If it persists, check your inference gateway (api.laozhang.ai).

「usually temporary」はClaude Codeが5xxエラーに付ける共通の文言で、この場合は待っても直りません。原因は、このゲートウェイのClaude形式のエンドポイントにAstraの経路がないことです。laozhang.aiのドキュメントでも、Astraの呼び出し先はChat Completions(/v1/chat/completions)とResponses(/v1/responses)で、Claude Code向けのページにGPTモデルは載っていません(Claude Code専用のトークングループは試していませんが、その対応モデルにもGPTはありません)。対処は、上の手順のようにLiteLLMを挟んでOpenAI互換の/v1を使うことです。ゲートウェイによってはサーバー側で形式を変換している場合もあるので、別のゲートウェイを使うなら、まず/v1/messagesへcurlを1回送って確かめてください。DeepSeekを同じように使う構成とその初回エラーはClaude CodeでOpenRouterとDeepSeekを使う:経路、設定、初回エラー対応にあります。

警告「isn't recognized · context assumed to be 200k tokens」

これはエラーではなく、Claude Codeが知らないモデルIDに対して出す警告です。作業はそのまま進みますが、Claude Codeはコンテキストウィンドウを200Kトークンと仮定し、自動の圧縮(compaction)もその大きさを基準に行います。Astraの実際のウィンドウは1,050,000トークンです。

CLAUDE_CODE_MAX_CONTEXT_TOKENSで別の値を宣言すると、claude-で始まらないIDではそれだけで反映され、警告も消えます。2026年11月12日に272000を設定すると、出力JSONのcontextWindowが272000になり、200Kの警告は出なくなりました。272000にしたのは、上の費用の節にある単価の段差の手前に収めるためで、公式の推奨値ではありません。長いリポジトリで高い単価を受け入れられるなら、もっと大きな値も選べます。

400「Extra inputs are not permitted」

Claude Codeはゲートウェイにも、api.anthropic.comに送るのと同じanthropic-betaヘッダーやoutput_config.effort、context_managementなどのフィールドを送ります。これをそのまま形式の違う上流へ転送するゲートウェイでは、400 Extra inputs are not permittedのようなエラーになると、Claude Codeのゲートウェイプロトコルの公式ドキュメントは説明しています。LiteLLMをdrop_params: trueで使ったテストでは、Claude Codeが8種類のanthropic-betaとoutput_configを送っていても、400は一度も出ませんでした。別のプロキシでこのエラーが出るなら、CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASを設定すると送られるbetaの種類を減らせます。

WebSearch・MCP・サブエージェントは未検証:試したのは小さな修正1件

2026年11月12日のテストで確かめたのは、1台のMacで、ファイルの読み取り・編集・テスト実行で済む小さなタスクが通ることまでです。WebSearchやWebFetch、画像の入力、サブエージェント、MCP、長いセッションと自動圧縮は動かしていません。サブエージェントはセッションと同じモデルを使うので、この構成ではAstraで動くはずですが、動作は確認していません。Web検索については、LiteLLMのドキュメントに「Claude Code - WebSearch Across All Providers」という別のページがあります。こうした機能が必要な作業では、本番に入れる前に自分のリポジトリで一度試してください。

Claude CodeでGPT-6 Astraを使うときのよくある質問

ChatGPTのサブスクでClaude CodeからAstraを使えますか?

使えます。その場合はCodexプラグインの構成になり、使用量はChatGPTのCodex利用枠から引かれます。2026年10月26日時点のOpenAIの案内では、FreeとGoで使えるのはGPT-6 LunaでAstraではありません。PlusとBusiness(標準)はCodexで5時間あたりおよそ5〜45件のAstraのローカルメッセージ、Proには5時間の上限がありません。プランの枠は頻繁に変わるので、使う前にOpenAIの案内で確かめてください。ChatGPTのログインをCodex以外のツールに流用するコミュニティ製のプロキシもありますが、OpenAIがその使い方を認めているかは明らかではありません。月額と利用上限をツール単位で比べるならClaude Code と Codex の料金比較:月額、利用上限、API 実コストが参考になります。

Claude Code Routerでも同じことができますか?

Claude Code Router(CCR)も、Claude Codeの前に置くローカルのゲートウェイです。READMEによると、2026年10月9日公開のv3.1.3はデスクトップアプリ(またはnpmの@musistudio/claude-code-router、Node.js 22以上)で、http://127.0.0.1:3456で待ち受け、上流のプロトコルとして「OpenAI Chat / Responses」を挙げています。考え方はLiteLLMと同じですが、2026年11月12日のテストではCCRを使っておらず、Astraで動くかは確かめていません。使う場合も、上の節と同じくヘッダー、/status、ログのモデル名で確認してください。

参考資料2

本文で参照している外部ページを、登場順に並べています。最終更新日:2026年11月12日。

  1. 1.Claude CodeのLLMゲートウェイに関する公式ドキュメントcode.claude.com/docs/en/llm-gateway
  2. 2.Claude Codeのゲートウェイプロトコルの公式ドキュメントcode.claude.com/docs/en/llm-gateway-protocol
さらに読む: Claude Code
Claude Sonnet 5.5とGPT-6 Astraの比較。AA旧指数v4.3.2でのmax同士の指数は56対53、1課題の費用は$7.60対$3.26
Claude Code

Sonnet 5.5とGPT-6 Astra比較:費用と使い分け

AAの指数v5.0ではどの推論の強さでもGPT-6 AstraがSonnet 5.5より上です。Sonnetが1課題あたり安いのはhigh以下で、それ以上はAstraが安価です。

32 分
Claude APIは自分のコードから呼ぶトークン従量課金、Claude CodeはPro/Maxに含まれファイルとシェルで作業するエージェントで、Claude CodeにAPI契約は不要、自社サービスはAPIキーかクラウドと示したカバー画像
Claude Code

Claude APIとClaude Codeの違いと使い分け

Claude CodeはPro/Maxで使え、APIは不要です。Max・Teamの毎月のAPIクレジットはAPIとAgent SDK用で、対話型Claude Codeは対象外です。

42 分
クラウドクレジットはPro$100・Max$250、使用クレジットはAPI標準料金、上限リセット権は5時間枠か週次枠を戻す無料の特典と並べた2026年9月24日時点のカバー画像
Claude Code

Claudeクラウドクレジット・使用クレジット・リセット権の違い

クラウド試用残高、使用クレジット、リセット権、月額APIクレジットは別物です。使用クレジットは有効化済みなら上限後に自動で従量課金へ切り替わります。クラウド試用分は10月7日に受け取り終了で、残高と期限をアカウントで確認します。

42 分