一、Claude Code 默认应该走 /v1/messages:核心机制解读
在动手排查之前,先明确官方 Claude Code 的预期行为,才能判断哪里出了问题。
1.1 官方 @anthropic-ai/claude-code 的协议设计
Anthropic 官方维护的 @anthropic-ai/claude-code NPM 包,在所有版本中都只使用 Anthropic 原生 Messages API 协议,具体表现:
| 维度 | 官方 Claude Code 行为 |
|---|---|
| 请求端点 | POST {ANTHROPIC_BASE_URL}/v1/messages |
| 请求头 | x-api-key、anthropic-version: 2023-06-01、anthropic-beta |
| 请求体格式 | { "model": "...", "messages": [...], "system": "...", "max_tokens": ... } |
| 响应格式 | { "content": [...], "stop_reason": "...", "usage": {...} } |
| 流式响应 | SSE 事件流,事件类型如 message_start、content_block_delta |
如果你的客户抓包看到 /v1/chat/completions、Authorization: Bearer ...、请求体含 choices 数组——这些都是 OpenAI 协议特征,说明请求走的不是官方 Claude Code 应有的路径。
1.2 关键环境变量的正确语义
官方 Claude Code 只识别以下几个环境变量来调整 API 行为:
# 必填:Anthropic API Key 或兼容服务的 Key
ANTHROPIC_AUTH_TOKEN=sk-your-key
# 或同义变量:
ANTHROPIC_API_KEY=sk-your-key
# 可选:自定义 API 网关地址(不要带 /v1 后缀)
ANTHROPIC_BASE_URL=https://api.anthropic.com
# 可选:自定义模型 ID
ANTHROPIC_MODEL=claude-sonnet-4-5
ANTHROPIC_SMALL_FAST_MODEL=claude-haiku-4-5
注意:官方 Claude Code 没有 OPENAI_BASE_URL、CLAUDE_CODE_USE_OPENAI 这类变量。如果你的环境里出现这些变量名,说明用了第三方 wrapper。
💡 快速验证建议:在终端执行
which claude查看 Claude Code 安装路径,然后执行cat $(which claude) | head -20,如果看到@anthropic-ai/claude-code字样,说明装的是官方版本。如果看到openclaude、claudex、cli-agent-openai-adapter等关键词,就找到根因了。

2. Claude Code で OpenAI 互換モードが動作してしまう 6 つの主な原因
発生確率の高い順に並べています。この順番で確認することをお勧めします。
2.1 原因 1:サードパーティ製の OpenAI Wrapper パッケージの誤インストール(約 35%)
NPM 上には、名前が似ていますが機能が全く異なる「Claude Code」関連パッケージが複数存在し、それらは OpenAI 互換変換を行うように設計されています。これらを誤ってインストールしている可能性があります。
| パッケージ名 | 実際の機能 | デフォルトプロトコル |
|---|---|---|
@anthropic-ai/claude-code |
✅ 公式パッケージ | /v1/messages |
@gitlawb/openclaude |
OpenAI shim | /v1/chat/completions |
@aryanjsx/openclaude |
OpenAI shim | /v1/chat/completions |
cli-agent-openai-adapter |
プロトコル変換器 | /v1/chat/completions |
claude-code-openai-wrapper |
デュアルプロトコル wrapper | 両方サポート |
claudex |
Go 製 OpenAI プロキシ | /v1/chat/completions |
調査方法:
# 1. 実際のインストールパスを確認
which claude
# 出力例:/usr/local/bin/claude
# 2. パッケージの package.json 内の name を確認
cat $(npm root -g)/@anthropic-ai/claude-code/package.json 2>/dev/null | grep '"name"'
# 3. グローバルにインストールされている claude 関連パッケージをすべて確認
npm list -g --depth=0 | grep -i claude
npm list に @anthropic-ai/claude-code が含まれておらず、他の類似パッケージがある場合は、誤インストールが原因です。
2.2 原因 2:claude-code-router などのルーティングツールが設定されている(約 25%)
claude-code-router (CCR) は、Claude Code のリクエストをインターセプトし、別のモデル(OpenAI、DeepSeek、智譜など)へ転送するコミュニティで人気のオープンソースツールです。仕組みは以下の通りです:
- ローカルプロキシサーバーを起動(デフォルト
http://localhost:3456) - ユーザーが
ANTHROPIC_BASE_URLをこのローカルプロキシに向ける - CCR が
/v1/messagesリクエストを受け取り、/v1/chat/completionsに変換してターゲットモデルへ転送する - パケットキャプチャで見ると OpenAI プロトコルに見える
調査方法:
# 環境変数を確認
env | grep -i ANTHROPIC
# ANTHROPIC_BASE_URL=http://localhost:3456 や http://127.0.0.1:xxx のような表示があれば、
# CCR / claude-code-router などのローカルプロキシが原因である可能性が高いです。
2.3 原因 3:ANTHROPIC_BASE_URL が OpenAI 互換ゲートウェイを指している(約 20%)
一部の LLM ゲートウェイ(LiteLLM Proxy、OneAPI、Bifrost など)は Anthropic モデルの設定をサポートしていますが、/v1/chat/completions インターフェースしか公開していない場合があります。ANTHROPIC_BASE_URL をこのようなゲートウェイに向けると:
- Claude Code は
/v1/messagesでリクエストを送信し続ける - ゲートウェイが 404 を返すか、パスを自動的に書き換える
- ゲートウェイ内部で OpenAI 形式に変換して上流へ呼び出す
- ゲートウェイの後段でパケットキャプチャを行うと、OpenAI プロトコルに見える
調査方法:ANTHROPIC_BASE_URL が既知の OpenAI 互換ゲートウェイのアドレスではないか、リクエストが実際に成功しているか(200 か 404 か)を確認してください。
2.4 原因 4:サードパーティ製 Wrapper の環境変数が設定されている(約 10%)
一部の wrapper パッケージは、環境変数でプロトコルモードを切り替えます。例:
# openclaude の切り替え変数
CLAUDE_CODE_USE_OPENAI=1
OPENAI_API_KEY=sk-xxx
OPENAI_MODEL=gpt-4o
OPENAI_BASE_URL=https://api.openai.com/v1
npm で公式パッケージをインストールしていても、PATH 上に wrapper スクリプト(/usr/local/bin/claude が実質 wrapper である場合など)が存在すると、これらの変数が有効になります。
調査方法:
# PATH 上の claude という名前の実行ファイルをすべてリストアップ
type -a claude
# 関連する環境変数を確認
env | grep -E 'CLAUDE_CODE|OPENAI_BASE_URL|OPENAI_MODEL'
2.5 原因 5:Shell の alias や wrapper スクリプトによるインターセプト(約 7%)
~/.bashrc や ~/.zshrc で alias が設定されている可能性があります:
# このような alias は元の claude コマンドを置き換えます
alias claude='openclaude'
alias claude='claude-code-router run'
# または同名の関数が定義されている
claude() {
CCR_PROXY=http://localhost:3456 command claude "$@"
}
調査方法:
# alias を確認
alias | grep claude
# 関数を確認
type claude
# シェルの起動ファイルを確認
grep -nE 'claude' ~/.bashrc ~/.zshrc ~/.profile 2>/dev/null
2.6 原因 6:パケットキャプチャの視点による誤認(約 3%)
稀なケースとして、キャプチャツールの配置場所が適切ではなく、Claude Code が実際に送信したリクエストではないものを見ている場合があります。例:
- Claude Code → ローカル透過プロキシ(mitmproxyなど)→ リモート OpenAI ゲートウェイ
- キャプチャツールがゲートウェイの後段に配置されており、書き換え後のリクエストを見ている
- 実際には Claude Code は
/v1/messagesを送信している
調査方法:クライアントのローカル環境で mitmproxy を使用し、Claude Code プロセスを直接プロキシして、最初のホップのリクエストがどのプロトコルかを確認してください。
3. Claude Code プロトコル異常の 5 ステップ高速診断

以下の順序で項目を確認してください。ほとんどのプロトコル異常は最初の 3 ステップで特定できます。
3.1 ステップ 1:公式 NPM パッケージがインストールされているか確認
# 可能性のあるすべての wrapper をアンインストール
npm uninstall -g @gitlawb/openclaude @aryanjsx/openclaude cli-agent-openai-adapter claudex claude-code-router 2>/dev/null
# 公式パッケージをアンインストールして再インストール
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
# バージョンのソースを検証
claude --version
npm list -g @anthropic-ai/claude-code
合格条件:npm list -g の出力に @anthropic-ai/[email protected] が含まれていること。
3.2 ステップ 2:PATH と Shell alias のクリーンアップ
# PATH 上の claude という名前の実行ファイルをすべて特定
type -a claude
which -a claude
# 同名の alias / function を解除
unalias claude 2>/dev/null
unset -f claude 2>/dev/null
# シェルの起動スクリプト内の claude 関連設定を確認してクリーンアップ
grep -n 'claude' ~/.bashrc ~/.zshrc ~/.profile 2>/dev/null
合格条件:type -a claude が 1 つのパスのみを出力し、それが npm グローバルディレクトリ下の公式パッケージを指していること。
3.3 ステップ 3:競合する環境変数のクリーンアップ
# すべての claude / openai 関連の変数を確認
env | grep -iE 'claude|openai|anthropic'
# 競合する可能性のある変数を削除
unset CLAUDE_CODE_USE_OPENAI
unset OPENAI_BASE_URL
unset OPENAI_MODEL
unset CCR_PROXY
# 公式に必要な変数のみを残す
export ANTHROPIC_BASE_URL="https://vip.apiyi.com"
export ANTHROPIC_AUTH_TOKEN="sk-your-apiyi-key"
🎯 重要な注意点:
ANTHROPIC_BASE_URLはドメインのルート(/v1サフィックスを含まない)を指定してください。Claude Code が自動的に/v1/messagesを付与します。もしhttps://vip.apiyi.com/v1と入力すると、https://vip.apiyi.com/v1/v1/messagesとなり、404 エラーが発生します。
3.4 ステップ 4:base_url が /v1/messages をネイティブサポートしているかテスト
curl を使用して Claude Code のリクエストをシミュレートし、ゲートウェイが Anthropic のネイティブプロトコルを実際にサポートしているか検証します:
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 100,
"messages": [{"role": "user", "content": "Hello"}]
}'
合格条件:200 が返り、レスポンスボディに "type": "message" と "content": [...] が含まれていること。
404 が返る、またはレスポンスボディが OpenAI 形式(choices を含む)である場合、ANTHROPIC_BASE_URL が指すゲートウェイはネイティブの Anthropic プロトコルをサポートしていません。その場合は APIYI (apiyi.com) に切り替えることで即座に解決できます。APIYI は /v1/messages をネイティブサポートしており、/v1/chat/completions との互換性もあるため、両方のプロトコルで使用可能です。
3.5 ステップ 5:ローカルパケットキャプチャによる最終リクエストの検証
ステップ 4 までクリアしても問題が解決しない場合は、mitmproxy を使用してローカルでパケットキャプチャを行い検証します:
# mitmproxy を起動(デフォルトポート 8080)
mitmproxy --listen-port 8080
# Claude Code にローカルプロキシを通させる
export HTTPS_PROXY=http://localhost:8080
export HTTP_PROXY=http://localhost:8080
# Claude Code を起動
claude
合格条件:mitmproxy でキャプチャされた最初のリクエストが POST /v1/messages であり、リクエストヘッダーに anthropic-version が含まれていること。
四、APIYI を介して Claude Code をネイティブ /v1/messages で利用するための完全設定
APIYI (apiyi.com) は、Anthropic Messages API プロトコルをネイティブサポートしている数少ない API 中継サービスの一つです。これにより、Claude Code が /v1/chat/completions ではなく、正しく /v1/messages を経由するように設定できます。
4.1 環境変数の設定(最もシンプルな方法)
# macOS / Linux
export ANTHROPIC_BASE_URL="https://vip.apiyi.com"
export ANTHROPIC_AUTH_TOKEN="sk-your-apiyi-key"
# オプション:デフォルトモデルの指定
export ANTHROPIC_MODEL="claude-sonnet-4-5"
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5"
# Windows PowerShell
$env:ANTHROPIC_BASE_URL = "https://vip.apiyi.com"
$env:ANTHROPIC_AUTH_TOKEN = "sk-your-apiyi-key"
# Claude Code の起動
claude
4.2 シェル起動ファイルへの永続的な設定
# ~/.zshrc または ~/.bashrc に追記
cat >> ~/.zshrc <<'EOF'
# Claude Code → APIYI apiyi.com 中継設定
export ANTHROPIC_BASE_URL="https://vip.apiyi.com"
export ANTHROPIC_AUTH_TOKEN="sk-your-apiyi-key"
export ANTHROPIC_MODEL="claude-sonnet-4-5"
EOF
# 設定の再読み込み
source ~/.zshrc
4.3 Claude Code 内蔵の設定コマンドを使用(推奨)
Claude Code には設定用の CLI が用意されており、環境変数の漏洩を防ぐことができます。
# 方法1:対話型設定
claude /login
# "Custom Endpoint" を選択し、https://vip.apiyi.com と APIキー を入力
# 方法2:設定ファイルを直接編集
cat > ~/.claude/settings.json <<'EOF'
{
"env": {
"ANTHROPIC_BASE_URL": "https://vip.apiyi.com",
"ANTHROPIC_AUTH_TOKEN": "sk-your-apiyi-key"
}
}
EOF
4.4 設定後のリクエストパスの検証
Claude Code を起動した後、別のターミナルで以下のコマンドを実行して検証します。
# 方法1:mitmproxy でパケットキャプチャ(最も正確)
mitmproxy --listen-port 8080
# 別のターミナルで Claude Code を起動する際に HTTPS_PROXY=http://localhost:8080 を設定
# 方法2:Claude Code のデバッグログを有効化
ANTHROPIC_LOG=debug claude
# ログにリクエスト URL とメソッドが完全に表示されます
期待される結果:すべてのリクエスト URL が https://vip.apiyi.com/v1/messages であり、メソッドが POST、リクエストヘッダーに anthropic-version: 2023-06-01 が含まれていること。
4.5 APIYI を利用する主なメリット
| メリット | 説明 |
|---|---|
| ネイティブ /v1/messages 対応 | Claude Code の標準プロトコル、変換ロスなし |
| 両方のプロトコルに対応 | 1つのキーで /v1/chat/completions も利用可能 |
| anthropic-beta ヘッダーを保持 | プロンプトキャッシュやツール利用などの高度な機能に対応 |
| 同時接続数無制限 | 長時間のセッションでも制限を受けない |
| 100ドルチャージで10%還元 | 実質公式サイトの15%オフ |
| 国内決済対応 | WeChat Pay / Alipay で直接支払い可能 |
五、ネイティブ /v1/messages と OpenAI /v1/chat/completions プロトコルの比較

2つのプロトコルの核心的な違いを理解することで、なぜ Claude Code がその能力を最大限に発揮するためにネイティブプロトコルを必要とするのかがわかります。
| 項目 | Anthropic /v1/messages | OpenAI /v1/chat/completions |
|---|---|---|
| 認証ヘッダー | x-api-key: sk-... |
Authorization: Bearer sk-... |
| バージョンヘッダー | anthropic-version: 2023-06-01 |
なし(URLで指定) |
| 機能ヘッダー | anthropic-beta: prompt-caching-... |
統一規格なし |
| system フィールド | 最上位の独立フィールド | messages[0] の system ロールとして定義 |
| レスポンス形式 | { "content": [...], "stop_reason": "..." } |
{ "choices": [{ "message": {...} }] } |
| ストリーミング | message_start 等の構造化イベント |
data: {...} 汎用 SSE |
| ツール呼び出し | content blocks 内に tool_use を埋め込み |
choices[0].message.tool_calls |
| トークンカウント | usage.input_tokens / usage.output_tokens |
usage.prompt_tokens / usage.completion_tokens |
重要な結論:Claude Code は Anthropic 独自の機能(プロンプトキャッシュ、ツール利用のストリーミング増分、推論コンテンツなど)を多用します。もし OpenAI プロトコルに強制変換されると、これらの機能が失われたり、動作が不一致になったりします。これが、ネイティブな /v1/messages を経由させることが必須である理由です。
六、各使用场景排查清单
6.1 场景一:个人开发者本地使用
最常见原因:Shell alias 或 PATH 中存在同名的 wrapper(包装器)。
排查清单:
-
npm list -g是否包含@anthropic-ai/claude-code -
type -a claude是否仅指向官方包 -
~/.zshrc/~/.bashrc中是否有alias claude=... -
env | grep -i claude是否存在非标准环境变量 -
ANTHROPIC_BASE_URL是否填写了/v1后缀(应保持不带后缀)
6.2 场景二:团队/公司环境部署
最常见原因:内部大规模语言模型网关仅支持 OpenAI 协议。
排查清单:
- 公司网关是否原生支持
/v1/messages端点 - 网关是否转发了
anthropic-version和anthropic-beta请求头 - 网关是否保留了 SSE 事件的原始格式
- 是否存在团队统一的 wrapper 脚本
如果公司网关确实仅支持 OpenAI 协议,建议将客户端的 ANTHROPIC_BASE_URL 修改为指向 APIYI (apiyi.com),通过原生协议直通,避免转换带来的损耗。
6.3 场景三:CI/CD 环境调用 Claude Code
最常见原因:CI 脚本中固化了第三方 wrapper。
排查清单:
- CI 配置文件是否执行了
npm install -g非官方包 - CI 环境变量中是否有
CLAUDE_CODE_USE_OPENAI=1等设置 - CI runner 镜像是否预装了 wrapper
6.4 场景四:Docker 容器内运行
最常见原因:基础镜像预装了 wrapper。
排查清单:
- Dockerfile 中
RUN npm install -g的包名是否为官方包 - 容器内
which claude指向哪里 - 容器的 ENV 是否设置了协议切换变量
七、Claude Code 协议异常常见问题 FAQ
Q1: 我安装的就是官方 @anthropic-ai/claude-code,为什么还会走 OpenAI 协议?
最可能的原因是 ANTHROPIC_BASE_URL 指向了 OpenAI 兼容网关。某些网关在接收到 /v1/messages 请求后,会在内部将其转换为 /v1/chat/completions 再调用上游。如果你在网关之后进行抓包,看到的自然就是转换后的协议。
解决方案是将 ANTHROPIC_BASE_URL 修改为指向 APIYI (apiyi.com),它原生支持 /v1/messages,没有任何转换损耗。
Q2: 如何彻底卸载所有可能的 Claude wrapper?
# 列出所有 claude 相关全局包
npm list -g --depth=0 | grep -i claude
# 一次性卸载已知 wrapper
npm uninstall -g \
@gitlawb/openclaude \
@aryanjsx/openclaude \
cli-agent-openai-adapter \
claudex \
claude-code-router \
ccr \
2>/dev/null
# 重装官方包
npm install -g @anthropic-ai/claude-code
# 验证
which claude
claude --version
Q3: ANTHROPIC_BASE_URL 应该填到什么级别的路径?
请填写到域名根目录,不要带 /v1 后缀。Claude Code 内部会自动拼接 /v1/messages。
# ✅ 正确
export ANTHROPIC_BASE_URL="https://vip.apiyi.com"
# ❌ 错误(会拼成 /v1/v1/messages)
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1"
# ❌ 错误(自带端点路径)
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1/messages"
Q4: 为什么有些教程让我安装 claude-code-router?
claude-code-router 是社区工具,主要用途是让 Claude Code 调用非 Anthropic 模型(如 DeepSeek、智谱、本地 Ollama 等)。它是通过协议转换来实现的。
如果你只是想用 Anthropic 原版 Claude 模型(如 Claude Sonnet 4.5、Opus 4.7),完全不需要 CCR,直接接入 APIYI (apiyi.com) 走原生 /v1/messages 即可,体验更好且无转换损耗。
Q5: APIYI (apiyi.com) 同时支持 /v1/messages 和 /v1/chat/completions 吗?
是的,APIYI 完全兼容两种协议:
https://vip.apiyi.com/v1/messages—— Anthropic 原生格式(Claude Code 默认)https://vip.apiyi.com/v1/chat/completions—— OpenAI 兼容格式
一个 API Key 可以同时使用两种协议,根据客户端工具自动适配。
Q6: 抓包看到的请求 URL 是 https://vip.apiyi.com/v1/messages 就一定是原生模式吗?
不一定。需要同时验证以下几点:
- 请求头包含
anthropic-version: 2023-06-01 - 请求体顶层有
messages数组和独立的system字段(而不是在 messages 内包含 system role) - 响应体包含
"type": "message"和content: [...](而不是choices: [...])
如果 URL 是 /v1/messages 但请求体是 OpenAI 格式(messages 内包含 system role),说明客户端存在自己的转换层。
Q7: Claude Code 启用 debug 日志的环境变量是什么?
# 输出详细的 HTTP 请求/响应日志
ANTHROPIC_LOG=debug claude
# 或使用 verbose 模式
claude --verbose
# 查看 Claude Code 自身的诊断信息
claude /doctor
debug 日志会显示完整的 URL、请求头、请求体(敏感字段会脱敏),这是定位协议问题最直接的方法。
Q8: 我的 Claude Code 之前一直正常,最近突然变成 OpenAI 协议了,可能是什么原因?
最常见的几个突变原因:
- 升级了 Claude Code 但
npm install -g误装了同名的第三方包 - 团队最近部署了大规模语言模型网关并下发了新的
ANTHROPIC_BASE_URL - macOS 升级后某些 alias 重新生效
- 公司启用了透明代理进行协议转换审计
排查时,请优先查看最近的环境变化(npm 安装记录、shell 配置改动、网关变更通知)。
八、Key Takeaways 核心要点
- ✅ 公式の @anthropic-ai/claude-code は常に /v1/messages を使用します。公式の OpenAI 互換モードは存在しません。
- ✅ 考えられる 6 つの原因(確率順):サードパーティ製パッケージの誤インストール / claude-code-router によるインターセプト / base_url が OpenAI ゲートウェイを指している / サードパーティの環境変数 / シェルのエイリアス / パケットキャプチャによる誤判定
- ✅ 5 ステップのクイック診断:パッケージ名の確認 → PATH/エイリアスの整理 → 環境変数の整理 → base_url の curl テスト → ローカルでのパケットキャプチャ検証
- ✅ ANTHROPIC_BASE_URL に /v1 サフィックスは不要です。Claude Code が自動的に付与します。
- ✅ APIYI (apiyi.com) は /v1/messages をネイティブサポートしています。同時に /v1/chat/completions も互換性があり、1 つのキーで両方のプロトコルに対応可能です。
- ✅ ネイティブプロトコルを使用するメリット:プロンプトキャッシング、tool_use、推論コンテンツ(reasoning content)など、Anthropic 独自の機能を完全にサポートします。
- ✅ クイック検証方法:
ANTHROPIC_LOG=debug claudeを実行して、実際のリクエスト URL とメソッドを確認してください。
九、まとめ
NPM でインストールした Claude Code は、コマンドライン環境において常にネイティブの /v1/messages プロトコルを使用すべきです。これは公式の @anthropic-ai/claude-code パッケージにハードコードされた挙動であり、OpenAI 互換モードに切り替える公式のスイッチは存在しません。もしパケットキャプチャで /v1/chat/completions が確認された場合、問題は必ずクライアント環境のどこかにあります。サードパーティ製のラッパーを誤ってインストールしているか、ANTHROPIC_BASE_URL が OpenAI プロトコルのみをサポートするゲートウェイを指しているか、あるいはシェルエイリアスや環境変数によって変換が行われている可能性があります。
本記事の第 3 章で紹介した 5 ステップの診断フローに従って調査すれば、ほとんどの問題は 10 分以内に特定できます。最も一般的な解決策は、非公式パッケージをすべてアンインストール → @anthropic-ai/claude-code を再インストール → ANTHROPIC_BASE_URL を /v1/messages をネイティブサポートする API 中継サービスに向けることです。
APIYI (apiyi.com) はこのようなシナリオのために設計されています。Anthropic Messages API をネイティブサポート(anthropic-version や anthropic-beta ヘッダーの完全な透過転送を含む)しつつ、OpenAI Chat Completions とも互換性があります(1 つのキーでデュアルプロトコル対応)。同時接続数に制限がないため、Claude Code の長いセッションでも制限がかかりません。100 ドルのチャージで 10% のボーナスが付与され(公式サイト比で約 15% オフ相当)、人民元でのチャージ(WeChat Pay/Alipay で直接支払い可能)にも対応しています。設定は ANTHROPIC_BASE_URL を https://vip.apiyi.com に変更するだけで、コードの修正は一切不要です。
🎯 次のステップへのアドバイス:お客様に本記事の 3.1 → 3.2 → 3.3 の順で調査してもらい、
ANTHROPIC_BASE_URLをhttps://vip.apiyi.comに変更してください。その後、Claude Code を再起動し、ANTHROPIC_LOG=debug claudeを使用してリクエスト URL が/v1/messagesに戻っているかを確認してください。
参考資料
-
Claude Code 公式ドキュメント: LLM Gateway 設定ガイド
- リンク:
code.claude.com/docs/en/llm-gateway - 説明: Claude Code が Anthropic Messages API 形式を使用していることを明記した公式ドキュメントです。
- リンク:
-
@anthropic-ai/claude-code NPM パッケージ: 公式 NPM パッケージページ
- リンク:
npmjs.com/package/@anthropic-ai/claude-code - 説明: 正式なパッケージがインストールされているかを確認できます。
- リンク:
-
Anthropic Messages API 公式ドキュメント: ネイティブプロトコル仕様
- リンク:
docs.anthropic.com/en/api/messages - 説明:
/v1/messagesエンドポイントの全フィールド、リクエストヘッダー、レスポンス形式が記載されています。
- リンク:
-
APIYI 公式サイト: ネイティブ Anthropic プロトコル API中継サービス
- リンク:
apiyi.com - 説明: ネイティブな
/v1/messagesに加え、/v1/chat/completionsとの互換性も提供。同時接続数無制限で、100ドル以上のチャージで10%ボーナスを付与します。
- リンク:
著者: 技術チーム
最終更新: 2026年5月2日
APIYI について: APIYI (apiyi.com) は、プロフェッショナルな Claude API 中継サービスです。Anthropic Messages API(/v1/messages、anthropic-version や anthropic-beta を含む完全な透過転送)をネイティブサポートし、OpenAI Chat Completions(/v1/chat/completions)とも互換性があります。Claude Sonnet 4.5、Claude Opus 4.7、Claude Haiku 4.5 の全シリーズを安定して利用可能。100ドルのチャージで10%のボーナス(公式サイト比で約15%オフ相当)を提供しており、同時接続数制限なし、迅速な技術サポート体制を整えています。
