Hermes Agent で Claude に切り替えたら HTTP 400 が出た — サードパーティアプリと extra usage の課金枠
普段は Nous Research の Hermes Agent を OpenAI のモデルで動かしていましたが、試しにモデルを Claude に切り替えた直後、次のエラーが返ってきました。
Error: HTTP 400: Third-party apps now draw from your extra usage, not your plan limits. Add more at claude.ai/settings/usage and keep going.
素直に読むと「このアプリからの Claude 利用は、月額プランの枠ではなく別料金の追加利用枠(extra usage)から引く仕様に変わったので、claude.ai/settings/usage で追加してから続けてください」というメッセージです。以下、この文言の背景と、Hermes Agent 側での対処を整理します。
エラー文言と Anthropic 公式案内の食い違い
この HTTP 400 は Claude へのリクエストに対して返されています。ただし、この文言だけでは Hermes Agent の認証実装と Anthropic 側の判定のどちらに原因があるかは確定できません。エラー文言だけを読むと次のように解釈できます。
- Claude Pro・Max・Team などのサブスクリプションで Claude にログインし、サードパーティ製アプリから OAuth 連携で Claude モデルを呼び出すと、リクエストは月額プランに含まれる利用枠ではなく、別枠の extra usage クレジットから消費される
- その extra usage クレジットが有効化されていない、または残高がゼロだと、リクエスト自体が HTTP 400 で拒否される
extra usage の仕組み自体は Manage usage credits for paid Claude plans に説明があります。
ただし、Anthropic の Use the Claude Agent SDK with your Claude plan には、Claude Agent SDK・claude -p・サードパーティアプリからの利用について、別枠へ切り替える変更を「一時停止(pausing the changes)」し、引き続きサブスクリプションの利用枠から消費する、と明記されています。つまり、私が実際に受け取ったエラー文言と、Anthropic が公式に案内している現時点の扱いは食い違っている状態でした。どちらが実装として先に反映されるかは経路や時期で変わりうるので、エラー文言の指示(claude.ai/settings/usage)と自分のアカウントの extra usage の表示を突き合わせて確認するのが確実です。
公式クライアントとサードパーティアプリの扱いの違い
Anthropic の切り替え計画上、想定されている区分は次のとおりです。
- 対話型の Claude Code CLI、claude.ai の Web、Claude デスクトップアプリからの利用は、サブスクリプションの利用枠でカバーされる
- 6月15日に予定されていた変更では、Claude Agent SDK、
claude -p、Agent SDK 経由でサブスクリプション認証するサードパーティアプリを月額の Agent SDK クレジットへ移し、その残高を使い切った後は usage credits から消費する設計だった。ただし、公式ヘルプではこの変更を一時停止し、現在もサブスクリプションの利用枠から消費すると案内している
予定されていた設計は、対話型の公式クライアントと Agent SDK・非対話実行の経路で利用枠を分けるものでした。Hermes Agent は Claude サブスクリプションアカウントで OAuth ログインするサードパーティ製クライアントに該当しますが、一時停止中の公式案内どおりならサブスクリプションの利用枠から消費されます。
なお、公式の Claude Code 系でも同じ文言のエラーが報告された Issue があります(VS Code 拡張の事例)。この報告では最新版への更新、再ログイン、usage credits の有効化でも解消していません。公式ツールで出た場合は、認証経路の誤判定を含む不具合として切り分ける必要があります。
Hermes Agent 側でやったこと
私のケースでは、Hermes Agent は普段 OpenAI のモデルで運用していて、Claude はスポット的に試したかっただけでした。extra usage クレジットをチャージしてまで OAuth 経由で使うモチベーションはなく、以下の順で扱うことにしました。
- 常用は OpenAI モデル(ChatGPT のサブスクリプション経由)に戻す
- Claude をどうしても Hermes Agent の裏側で使いたいときは、Hermes Agent から直接 Claude を呼ぶのではなく、公式の Claude Code を
claude -pでサブエージェント的に起動する形にする - サブスクリプションの extra usage をチャージするのは、Claude 経路の利用が Hermes Agent 上で常態化してから判断する
私が試した時点では、Hermes Agent から claude -p を起動する経路ではこの HTTP 400 が発生しませんでした。Anthropic の公式案内でも、変更の一時停止中は claude -p がサブスクリプションの利用枠を消費するとされています。ただし、claude -p は一時停止された変更の対象にも含まれているため、今後も常に usage credits の対象外になるとは限りません。Hermes Agent 側は OpenAI のサブスクリプションに任せ、Claude が必要な部分だけ Claude Code をサブプロセスとして使う構成にしています。
トラブルシューティングの順序
同じエラーに当たったときの確認手順を整理しておきます。
- Hermes Agent などのサードパーティアプリで発生したか、公式クライアントで発生したかを切り分ける
- サードパーティアプリなら、claude.ai/settings/usage で extra usage の有効化状態と残高、支出上限を確認する
- extra usage を使わない方針であれば、Hermes Agent から直接 Claude を叩くのではなく、
claude -pで公式 Claude Code をサブエージェント的に呼び出す構成に置き換える。Anthropic Console の API キーに切り替えるルートもあるが、こちらはサブスクリプションとは別会計になる - 公式 Claude Code で出た場合は、最新版への更新と
/logout→ 再ログインで認証状態を更新する。それでも直らなければ、リクエスト IDと環境情報を添えて GitHub の anthropics/claude-code に事象を報告する
以上、Hermes Agent で Claude に切り替えたときに HTTP 400 を返された理由と、claude -p で公式 Claude Code をサブエージェント化して迂回した、現場からお送りしました。