# よくある質問

> LMU AI API のよくあるエラーとセットアップ上の問題の解決方法 — 401 / 403 / 429 / 500、トークン課金、モデル切り替え、Claude Code / Codex CLI のトラブルシューティング。

URL: https://docs.lmuai.com/ja/docs/guide/faq



## 問題 1: ストリームの切断 / タイムアウト [#issue-1]

**エラーメッセージ:**

```
stream disconnected before completion: error sending request for url
(https://api.lmuai.com/responses)
```

**原因:** 典型的なストリーム切断で、通常は以下が原因です:

* ローカルネットワークが不安定（Wi-Fi / モバイル回線の頻繁な切り替え、電波が弱い、パケットロス）
* **VPN / プロキシ / システムプロキシがオンになっている**: プロキシが出口 IP を切り替え、接続が切断される

**解決方法:**

1. **VPN / プロキシ / システムプロキシをすべてオフにして再試行してください** — LMU AI は国内から直接接続でき、VPN は不要です
2. ローカルネットワークが安定しているか確認し、必要であればより安定した回線に切り替えてください

<Callout type="info" title="VPN は不要 — 中国国内からの直接接続が最速">
  LMU AI のゲートウェイは**中国本土内**にホストされているため、国内のネットワークから直接呼び出せます。**VPN、プロキシ、迂回策は一切不要です**。直接接続が最も高速で安定した結果になります。逆に、出口 IP が切り替わる VPN やプロキシはストリーム切断の原因になりがちです。
</Callout>

***

## 問題 2: 429 の再試行エラー [#issue-2]

**エラーメッセージ:**

```
exceeded retry limit, last status: 429 Too Many Requests
```

**原因:** 1 日の利用枠を使い切っています。

**解決方法:**

1. **マイサブスクリプション**を開き、1 日の利用枠を使い切っていないか確認します
2. さらに必要な場合は、**別のティア**のプランを購入し、コンソールの **API キー**で新しいプランのグループに切り替えます

<Callout type="warn" title="更新と利用枠の追加の違い">
  * **同じプランは購入しないでください** — 同じプランは更新になり、利用枠は追加されません
  * 利用枠を追加するには、別のプランを購入してください（例：デイパスからマンスパスへの切り替え）
</Callout>

***

## 問題 3: 401 Incorrect API key [#issue-3]

**エラーメッセージ:**

```
unexpected status 401 Unauthorized: Incorrect API key provided
```

**原因:** リクエストが当社の中継ではなく OpenAI 公式のエンドポイントに送られています。

**解決方法:**

1. `config.toml` がガイドどおりに作成または置き換えられているか確認します
2. IDE（VS Code / Cursor など）を再起動して設定ファイルを再読み込みします
3. 以前に公式または他社のアカウントでサインインしていた場合は、先にサインアウトしてから再設定します

<Callout type="info" title="エラーが出たときの対処">
  エラーのスクリーンショットを撮って翻訳してみてください。多くの場合、原因をすぐに特定できます。
</Callout>

***

## 問題 4: スクリプトが無効化されている（Windows） [#issue-4]

**エラーメッセージ:**

```
codex: cannot be loaded because running scripts is disabled on this system.
```

**解決方法:** ターミナルで以下を実行し、新しいターミナルを開いてください:

```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```

***

## 問題 5: Node.js が見つからない（Windows） [#issue-5]

**エラーメッセージ:** `CODEX` is not recognized as a cmdlet などの表示

**原因:** Node.js がインストールされていない、または PATH が壊れています。

**解決方法:** Node.js 20 以降を再インストールし、新しいターミナルを開いてください。

***

## 問題 6: 503 No available accounts（環境変数がキーを上書き） [#issue-6]

**エラーメッセージ:**

```
Error code: 503 - {'error': {'message': 'No available accounts: no available accounts', 'type': 'api_error'}}
```

**原因:** `~/.zshrc`（または `~/.bashrc`）に `ANTHROPIC_AUTH_TOKEN` / `ANTHROPIC_BASE_URL` / `ANTHROPIC_MODEL` が設定されています。シェルが起動すると、これらの変数がグローバルに有効になり、IDE（Cursor、VS Code など）で設定した API キーを上書きするため、誤ったキーでリクエストが送られます。

**解決方法（いずれか 1 つ）:**

**方法 A: `.zshrc` から変数を削除する**

`~/.zshrc` を開き、次の行を削除します:

```bash
export ANTHROPIC_AUTH_TOKEN="..."
export ANTHROPIC_BASE_URL="..."
export ANTHROPIC_MODEL="..."
```

その後 `source ~/.zshrc` を実行して反映し、IDE を再起動します。

**方法 B: 変数を別ファイルに移し、Claude Code CLI のときだけ読み込む**

1. `~/.claude_env` を作成し、3 行を記述します:

```bash
export ANTHROPIC_AUTH_TOKEN="sk-your-lmu-ai-api-key"
export ANTHROPIC_BASE_URL="https://api.lmuai.com"
export ANTHROPIC_MODEL="the-model-you-use"
```

2. `~/.zshrc` からその 3 行を削除します。

3. Claude Code の起動時に手動で読み込みます:

```bash
source ~/.claude_env && claude
```

これにより、IDE は設定ファイルのキーを使い、Claude Code CLI は環境変数を使うようになり、互いに干渉しません。

***

## 問題 7: 400 Invalid signature in thinking block（グループをまたぐモデル切り替え） [#issue-7]

**エラーメッセージ:**

```
upstream error: 400 messages.<index>.content.<index>:
Invalid `signature` in `thinking` block
```

**原因:** Claude の Extended Thinking が `thinking` ブロックを生成するとき、それを生成した**特定の上流アカウント**に固く紐づいた**暗号化署名**が付与されます。1 つの会話内で**グループをまたいでモデルを切り替える**と（例：「Claude-Pro 直接接続」グループの `claude-sonnet-5` から「Claude-MAX 高倍率」グループの `claude-fable-5` へ）、クライアントはそれまでの履歴（署名付きの thinking ブロックを含む）を新しいグループの上流アカウントに送信します。グループが異なると**上流も異なる**ため、他の上流が発行した署名は検証できず、400 が返ります。

**典型的な発生条件:**

* クライアントが会話中のモデル切り替えに対応しており、それまでの履歴をすべて送信する
* 切り替え前後のグループが**異なる上流アカウント**に由来する（例：「直接接続グループ」↔「中継 / MAX 高倍率グループ」）

**解決方法（いずれか 1 つ）:**

1. **グループを切り替えるときは新しい会話を始める** — 古い履歴を持ち込まないのが最もシンプルで確実です。
2. **1 つの会話では 1 つのグループを使い続ける** — 複数モデルの連携が必要な場合は、同じグループ（同じ上流）内で切り替えます。
3. **履歴から thinking ブロックを削除する** — クライアントが履歴の編集に対応している場合、グループを切り替える前に `thinking` ブロックを削除します。

<Callout type="info" title="再試行では解決しない理由">
  これは**署名が不正であることによる回復不能な 4xx クライアントエラー**です。ゲートウェイが検出すると 400 をそのままクライアントに返し、別のアカウントでの自動再試行は行いません。一致しない上流ではどれも同じように失敗するためです。
</Callout>

***

## 問題 8: 400 Unknown parameter: 'tools\[0].n'（画像エンドポイントに tools を送信） [#issue-8]

**エラーメッセージ:**

```
400 - {'error': {'code': 'unknown_parameter', 'message': "Unknown parameter: 'tools[0].n'.", 'param': 'tools[0].n', 'type': 'invalid_request_error'}}
```

**影響を受けるエンドポイント:** `/v1/images/generations`、`/v1/images/edits`（画像生成 / 編集）。

**原因:** クライアントが画像リクエストのボディに `tools` 配列を入れており、`tools[0]` の中に `n&#x60; フィールドが含まれています。OpenAI の画像エンドポイントは **`tools` を受け付けません**（ツール呼び出しは Chat / Responses エンドポイントのものであり、画像エンドポイントにはその概念がありません）。そのため上流が 400 で拒否します。

これは通常、「画像の枚数 `n`」を誤った場所に置くクライアント / SDK ラッパーの不具合によるものです。`tools[0].n` にネストされていたり、Chat リクエストのテンプレートからコピーされていたりします。

**解決方法:**

1. **リクエストボディから `tools` フィールドを削除する** — 画像の `generations` / `edits` はツール呼び出しに対応していないため、フィールドごと削除します。
2. **複数枚の画像を生成する場合はトップレベルの `n` に枚数を指定する** — `n`（1 回の呼び出しで複数枚）に対応しているのは `/v1/images/generations` のみです。`/v1/images/edits` は対応していないため、`n` は削除してください。
3. **クライアント SDK のバージョンを確認する** — ラッパーがパラメーターを自動生成している場合は、画像エンドポイントに Chat のテンプレートを適用しないよう、アップグレードまたは差し替えます。

<Callout type="info" title="アカウント切り替えや再試行が効かない理由">
  これは**リクエストボディが不正**であることによる 4xx クライアントエラーであり、上流アカウントやグループとは無関係です。ゲートウェイはリクエストをそのまま通すため、どのアカウントでも同じ 400 が返ります。クライアントが送るリクエストパラメーターを修正する必要があります。
</Callout>

***

## 問題 9: VPN は必要ですか？ [#issue-9]

**不要です。** LMU AI のゲートウェイは**中国本土内**にホストされており、`api.lmuai.com` は国内のネットワークから VPN、プロキシ、迂回策なしで直接呼び出せます。

逆に、出口 IP が切り替わる VPN やプロキシはストリーム切断の原因になりがちです（[問題 1](#issue-1) を参照）。国内からの直接接続が最も高速で安定した結果になります。

***

## 問題 10: 401 API\_KEY\_REQUIRED（Codex がキーを送信しない） [#issue-10]

**エラーメッセージ:**

```
unexpected status 401 Unauthorized: {"code":"API_KEY_REQUIRED","message":"API key is required in Authorization header (Bearer scheme), x-api-key header, or x-goog-api-key header"}, url: https://api.lmuai.com/responses, request id: ...
```

**原因:** 新しいバージョンの Codex では認証の仕組みが変わり、資格情報が `auth.json` から読み取られる代わりにシステムのキーリングに保存されるようになった可能性があります。古いガイドの設定（`auth.json` + `requires_openai_auth = true`）では、Codex が送るリクエストに **API キーがまったく含まれません**（`Authorization`、`x-api-key`、`x-goog-api-key` のいずれも送信されません）。そのためゲートウェイはキーを見つけられず、401 `API_KEY_REQUIRED` を返します。

これは [問題 3](#issue-3) の `Incorrect API key provided` とは異なります。あちらは誤ったキーを送信している場合（通常はリクエストが LMU AI の中継ではなく OpenAI 公式のエンドポイントに送られている）ですが、こちらは**キーをまったく送信していません**。

**解決方法:** キーを直接リクエストヘッダーに入れます。`~/.codex/config.toml`（Windows では `C:\users\your-username\.codex\config.toml`）を開き、モデルプロバイダーのセクション `[model_providers.<ID>]`（本サイトのガイドに従った場合は通常 `[model_providers.codex]`）を見つけ、その中の `requires_openai_auth = true` の行を削除し、対応する `http_headers` サブテーブルを**ファイルの一番最後**に追加します:

```toml
[model_providers.codex]
name = "codex"
base_url = "https://api.lmuai.com"
wire_api = "responses"

[model_providers.codex.http_headers]
Authorization = "Bearer your sk- key generated in the console"
```

保存してターミナルを開き直し、Codex を再起動してください。

<Callout type="warn" title="つまずきやすいポイント">
  * サブテーブル名の `codex` は、上の `[model_providers.codex]` の ID と一致させる必要があります（たとえば VS Code 拡張機能のガイドでは `[model_providers.OpenAI.http_headers]` になります）
  * `Bearer` とキーの間には**半角スペース 1 つ**を入れてください
  * `http_headers` サブテーブルはファイルの一番最後に置く必要があります。その後に書かれた設定はリクエストヘッダーとして扱われます
</Callout>

本サイトの Codex 関連ガイド（[Mac](/ja/docs/tools/codex-cli-mac) / [Windows](/ja/docs/tools/codex-cli-windows) / [サーバー](/ja/docs/tools/codex-cli-server) / [Codex App](/ja/docs/tools/codex-app) / [VS Code 拡張機能](/ja/docs/tools/vscode-plugin)）はすべて、上記の設定方法に更新済みです。

***

## それでも解決しない場合 [#それでも解決しない場合]

インストールや設定の途中で、特殊な環境のためにどうしても進めない場合はサポートにご連絡ください:

* WeChat でサポートを追加
* 闲鱼（Xianyu）でサポートに連絡

> リモートサポートの対応時間: **午後 2 時以降**（午前中は複雑な環境構築のリモート対応に充てています）。
>
> リモートサポートが必要な場合は、まず **NetEase UU Remote** をダウンロードし、サポートに連絡してください。技術的なご案内とリモートサポートは午後 2 時以降に実施します。
