Codex CLI v0.124.0 の Amazon Bedrock 対応を試してみた
次週、4月28日に、AWS と OpenAI による「What's Next with AWS」が予定されています。
2026 年 2 月に発表された OpenAI と Amazon の戦略的パートナーシップ(最大 500 億ドルの投資や Bedrock 統合)以降、AWS と OpenAI の連携が加速しています。4月17日 の Opus 4.7 リリースの際にも、Bedrock Mantle の Anthropic 互換エンドポイントについて調査を行いました。
Mantle 周辺の動きを追っていたところ、4月23日 にリリースされた OpenAI Codex CLI v0.124.0 の Change Log に以下の記載を見つけました。
Added first-class Amazon Bedrock support for OpenAI-compatible providers, including AWS SigV4 signing and AWS credential-based auth. (#17820)
イベントの一週間前というタイミングでこのリリースを見つけたため、今回は Mantle の OpenAI 互換側(Responses API)を Codex CLI から使った結果を紹介します。
Bedrock Mantle の API 体系
Bedrock Mantle は、Amazon Bedrock 上で OpenAI や Anthropic の API 仕様と互換性を持つ推論エンドポイントです。既存の OpenAI SDK や Anthropic SDK のコードを、ベース URL の変更だけで Bedrock 経由のモデルに接続できます。
現在、Mantle は 3 つの API を提供しています。
| API | 形式 | 用途 |
|---|---|---|
Responses API (/v1/responses) |
OpenAI 互換 | ステートフルな会話(推奨) |
Chat Completions API (/v1/chat/completions) |
OpenAI 互換 | ステートレスなマルチターンチャット |
Messages API (/anthropic/v1/messages) |
Anthropic 互換 | Anthropic ネイティブインターフェース |
前回記事では Messages API を検証しました。Codex CLI は Responses API を使用するため、今回はこちらを試しました。
Codex CLI のインストール
Codex CLI は GitHub Releases からバイナリをダウンロードできます。Node.js は不要で、単一バイナリで動作しました。
curl -sL "https://github.com/openai/codex/releases/download/rust-v0.124.0/codex-aarch64-unknown-linux-musl.tar.gz" -o codex.tar.gz
tar xzf codex.tar.gz
mv codex-aarch64-unknown-linux-musl ~/.local/bin/codex
chmod +x ~/.local/bin/codex
$ codex --version
codex-cli 0.124.0
npm でのインストールや Homebrew にも対応しています。詳細はリリースページを参照してください。
Bedrock 接続の設定
config.toml
~/.codex/config.toml に以下を記述します。
model = "openai.gpt-oss-120b"
model_provider = "amazon-bedrock"
web_search = "disabled"
[model_providers.amazon-bedrock]
[model_providers.amazon-bedrock.aws]
region = "us-east-1"
ポイントは以下の 3 点です。
model_provider = "amazon-bedrock"でビルトインの Bedrock プロバイダーを指定web_search = "disabled"で Web 検索ツールを無効化(後述)aws.regionで Mantle のリージョンを指定(デフォルトはus-east-1)
web_search の無効化が必須
web_search = "disabled" を設定せずに実行すると、以下のエラーが発生しました。
ERROR: {"error":{"code":"validation_error","message":"Failed to deserialize the JSON body into the target type: ?[4]: Invalid 'tools': unknown variant `web_search`, expected `function` or `mcp` at line 1 column 31513","param":null,"type":"invalid_request_error"}}
Codex CLI はデフォルトで web_search ツールをリクエストに含めますが、Bedrock Mantle は function と mcp タイプのみをサポートしています。web_search = "disabled" を追加することで解決しました。
AWS 認証情報の渡し方
AWS の認証情報は環境変数で渡す必要がありました。~/.aws/credentials のプロファイルだけでは、以下のエラーが発生しました。
ERROR: stream disconnected before completion: failed to load AWS credentials: the credentials provider was not properly configured
aws configure export-credentials で環境変数にエクスポートすることで解決しました。
eval "$(aws configure export-credentials --format env)"
動作確認
設定が完了したので、codex exec で実行してみました。
codex exec --skip-git-repo-check "Say hello in Japanese. Reply in one short sentence only."
OpenAI Codex v0.124.0 (research preview)
--------
workdir: /tmp/codex-test
model: openai.gpt-oss-120b
provider: amazon-bedrock
approval: never
sandbox: read-only
reasoning effort: none
reasoning summaries: none
--------
user
Say hello in Japanese. Reply in one short sentence only.
codex
こんにちは。
tokens used
8,841
こんにちは。
動きました。provider: amazon-bedrock と表示されており、Bedrock Mantle 経由で推論が行われていることが確認できました。
コード生成のレスポンス速度も計測しました。
codex exec --skip-git-repo-check "FizzBuzzをPythonで書いてください。コードのみ、説明不要。"
for i in range(1, 101):
if i % 15 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
簡単なコード生成であれば 2〜3 秒程度で応答が返り、十分実用的な速度でした。
| モデル | タスク | 所要時間 |
|---|---|---|
openai.gpt-oss-120b |
FizzBuzz (Python) | 約 2.2 秒 |
openai.gpt-oss-20b |
FizzBuzz (Python) | 約 3.1 秒 |
openai.gpt-oss-120b |
CSV集計→JSON出力関数 | 約 3.9 秒 |
Mantle で利用可能なモデルと Responses API 対応状況
Mantle の /v1/models エンドポイントで、利用可能なモデルの一覧を取得しました。
eval "$(aws configure export-credentials --format env)"
curl -s --aws-sigv4 "aws:amz:us-east-1:bedrock-mantle" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
-H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \
"https://bedrock-mantle.us-east-1.api.aws/v1/models"
SigV4 署名時のサービス名が通常の bedrock-runtime ではなく bedrock-mantle となっている点に注意してください。
39 モデルがリストされていました。
モデル一覧(全 39 モデル)
anthropic.claude-opus-4-7
deepseek.v3.1
deepseek.v3.2
google.gemma-3-12b-it
google.gemma-3-27b-it
google.gemma-3-4b-it
minimax.minimax-m2
minimax.minimax-m2.1
minimax.minimax-m2.5
mistral.devstral-2-123b
mistral.magistral-small-2509
mistral.ministral-3-14b-instruct
mistral.ministral-3-3b-instruct
mistral.ministral-3-8b-instruct
mistral.mistral-large-3-675b-instruct
mistral.voxtral-mini-3b-2507
mistral.voxtral-small-24b-2507
moonshotai.kimi-k2-thinking
moonshotai.kimi-k2.5
nvidia.nemotron-nano-12b-v2
nvidia.nemotron-nano-3-30b
nvidia.nemotron-nano-9b-v2
nvidia.nemotron-super-3-120b
openai.gpt-oss-120b
openai.gpt-oss-20b
openai.gpt-oss-safeguard-120b
openai.gpt-oss-safeguard-20b
qwen.qwen3-235b-a22b-2507
qwen.qwen3-32b
qwen.qwen3-coder-30b-a3b-instruct
qwen.qwen3-coder-480b-a35b-instruct
qwen.qwen3-coder-next
qwen.qwen3-next-80b-a3b-instruct
qwen.qwen3-vl-235b-a22b-instruct
writer.palmyra-vision-7b
zai.glm-4.6
zai.glm-4.7
zai.glm-4.7-flash
zai.glm-5
OpenAI、Anthropic、DeepSeek、Mistral、Qwen、NVIDIA、Google など多数のプロバイダーのモデルが含まれていました。
Responses API 対応テスト
Codex CLI は Responses API(/v1/responses)を使用します。リストされた各モデルが Responses API に対応しているか、Codex CLI から実際に試しました。
動作したモデル:
| モデル | 応答例 |
|---|---|
openai.gpt-oss-120b |
✅ 正常に動作 |
openai.gpt-oss-20b |
✅ 正常に動作 |
Responses API 非対応のモデル:
それ以外のモデルはすべて、以下のエラーが返りました。
ERROR: {"error":{"code":"validation_error","message":"The model 'deepseek.v3.1' does not support the '/v1/responses' API","param":null,"type":"invalid_request_error"}}
anthropic.claude-opus-4-7 も Responses API では非対応でした。Opus 4.7 は前回記事の通り Messages API(/anthropic/v1/messages)でのみ利用可能です。
39 モデルがリストされていましたが、Responses API に対応していたのは openai.gpt-oss-120b と openai.gpt-oss-20b の 2 モデルのみでした。なお、Mantle のドキュメントに記載されているのは openai.gpt-oss-120b のみですが、openai.gpt-oss-20b でも動作しました。
まとめ
本記事では、Codex CLI v0.124.0 を用いて Bedrock Mantle の Responses API に接続を試み、OpenAI API キーを用意することなく、AWS の認証情報だけで OpenAI のコーディングエージェントを利用できました。
エンタープライズの観点では、AWS IAM によるアクセス制御や、利用費を AWS の請求に一本化できる点も魅力的です。bedrock:InvokeModel の IAM ポリシーやリソースタグによるコスト配分など、既存の AWS ガバナンスの仕組みに乗せられる可能性があります。
一方で、当記事の執筆時点で Responses API に対応しているのは 39 モデル中 2 モデルのみと限定的でした。
とはいえ、以前紹介した Bedrock の従量課金で Claude Desktop が利用できる件も含め、Bedrock のエコシステムに乗る AI ツールは確実に増えつつあります。
今回の Codex CLI 対応もその流れの一つです。対応モデルの拡充など、今後の動向が注目されるところですが、次週のイベントの公式ページでは「Be the first to see new agentic solutions and platform capabilities」と案内されており、興味深く見守りたいと思います。








