{"slug": "http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw", "title": "HTTP 400 in Hermes Agent After Switching to Claude — Third-Party Apps Now Draw From Extra Usage", "summary": "A Hermes Agent user received an HTTP 400 error stating \"Third-party apps now draw from your extra usage, not your plan limits\" after switching the agent from an OpenAI model to Claude, contradicting Anthropic's published guidance that third-party app usage, the Claude Agent SDK, and `claude -p` still draw from subscription usage limits under a paused policy change originally scheduled for June 15. The same error has been reported on Anthropic's own Claude Code VS Code extension in GitHub issue 45016, where updating, signing in again, and enabling usage credits did not resolve it. The user, who runs Hermes Agent on OpenAI day to day, declined to top up extra usage credits to keep OAuth working.", "body_md": "# HTTP 400 in Hermes Agent After Switching to Claude — Third-Party Apps Now Draw From Extra Usage\n\n[Tadashi Shigeoka](https://codenote.net/en/author/tadashi-shigeoka/)· Tue, September 1, 2026\n\nI normally run [Nous Research](https://nousresearch.com/)’s [Hermes Agent](https://hermes-agent.nousresearch.com/) with an [OpenAI](https://openai.com/) model, but the moment I flipped its model over to Claude I got this back:\n\nError: 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.\n\nRead straight, the message says: “Calls to Claude from this app no longer come out of your monthly plan limits; they draw from a separate extra usage bucket. Add credit at [claude.ai/settings/usage](https://claude.ai/settings/usage) and continue.” Below, I walk through the background and what I did about it on the Hermes Agent side.\n\n## The error text and Anthropic’s own docs disagree\n\nClaude returned this HTTP 400 in response to the request. The message alone does not establish whether the cause is Hermes Agent’s authentication implementation or Anthropic’s classification of the request. Read on its own, the error text says:\n\n1. If you sign into Claude with a Pro, Max, or Team subscription and let a third-party app call Claude models over OAuth, those requests are billed against a separate extra usage credit balance, not against the monthly plan limits\n2. When extra usage is not enabled, or the balance is zero, the request is rejected with HTTP 400 rather than falling back to the plan\n\nThe extra usage mechanism itself is documented in [Manage usage credits for paid Claude plans](https://support.claude.com/en/articles/12429409-manage-usage-credits-for-paid-claude-plans).\n\nHowever, Anthropic’s [Use the Claude Agent SDK with your Claude plan](https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan) article explicitly states that the move to the separate bucket is paused for the Claude Agent SDK, `claude -p`, **and third-party app usage**, all of which “still draw from your subscription’s usage limits.” In other words, the error text I actually got and Anthropic’s current published guidance disagree. Which one wins for a given account and path is a moving target, so the safe move is to line up the message text (`claude.ai/settings/usage`) against the extra usage panel on your own account page and read from there.\n\n## Official clients versus third-party apps\n\nThe distinction Anthropic’s rollout plan draws:\n\n- Interactive Claude Code, [claude.ai](https://claude.ai/) on the web, and the Claude desktop app are covered by the subscription’s plan limits\n- Under the change originally scheduled for June 15, the Claude Agent SDK, `claude -p` , and third-party apps authenticated through the Agent SDK would have moved to a monthly Agent SDK credit, then to usage credits after that balance ran out. Anthropic’s help article says that change is paused and these paths still consume subscription limits\n\nThe planned distinction was between interactive first-party clients and Agent SDK or non-interactive paths. Hermes Agent is a third-party client authenticated to a Claude subscription through OAuth, but under the currently paused policy it should still consume the subscription’s usage limits.\n\nThe same error text has also been reported on Anthropic’s own [Claude Code](https://code.claude.com/docs/en/overview) VS Code extension in the [issue tracker](https://github.com/anthropics/claude-code/issues/45016). In that report, updating, signing in again, and enabling usage credits did not resolve the error. If it appears in an official client, the authentication path may have been misclassified and should be investigated as a product issue.\n\n## What I did on the Hermes Agent side\n\nIn my case, Hermes Agent runs on OpenAI day to day and Claude was a one-off experiment. I was not motivated enough to top up extra usage credits just to keep OAuth working, so I settled on this order of operations:\n\n1. Keep the day-to-day model on OpenAI via a ChatGPT subscription\n2. When I need Claude behind Hermes Agent, do not call Claude directly from Hermes Agent. Instead, spawn the official [Claude Code](https://code.claude.com/docs/en/overview) CLI as a subagent with`claude -p`\n3. Only revisit topping up extra usage on the subscription once Claude via OAuth becomes a routine path in Hermes Agent\n\nWhen I tested it, invoking `claude -p` from Hermes Agent did not produce this HTTP 400. Anthropic’s current guidance also says that `claude -p` consumes subscription limits while the change is paused. However, `claude -p` was included in the paused change, so it is not guaranteed to remain outside usage credits. My current setup keeps Hermes Agent on the OpenAI subscription and shells out to Claude Code only for the parts that need Claude.\n\n## A troubleshooting order\n\nIf you hit the same error, this is the sequence I would follow:\n\n- Identify whether it happened in a third-party app such as Hermes Agent, or in an official Anthropic client\n- For a third-party app, open [claude.ai/settings/usage](https://claude.ai/settings/usage) and check whether extra usage is enabled, what the balance is, and what the spending cap is set to\n- If you do not want to rely on extra usage, replace the direct Claude call from that app with a `claude -p` subagent invocation of the official Claude Code CLI. Switching the app’s authentication to an Anthropic Console API key is another route, but that one is billed separately from the subscription\n- For the official Claude Code CLI, treat it as a possible misclassification: update to the latest release, run `/logout` , and log in again. If it still errors, report the case in the[anthropics/claude-code](https://github.com/anthropics/claude-code) tracker\n\nThat’s all from tracing the HTTP 400 in Hermes Agent to Anthropic’s third-party extra usage rule and routing around it by spawning the official Claude Code CLI as a `claude -p` subagent, from the Gemba.", "url": "https://wpnews.pro/news/http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw", "canonical_source": "https://codenote.net/en/posts/hermes-agent-claude-third-party-extra-usage-http-400/", "published_at": "2026-09-01 14:53:39+00:00", "updated_at": "2026-09-14 09:06:11.864801+00:00", "lang": "en", "topics": ["ai-agents", "ai-products", "ai-tools", "artificial-intelligence"], "entities": ["Hermes Agent", "Nous Research", "Anthropic", "Claude", "OpenAI", "Claude Code", "Claude Agent SDK", "Tadashi Shigeoka"], "alternates": {"html": "https://wpnews.pro/news/http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw", "markdown": "https://wpnews.pro/news/http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw.md", "text": "https://wpnews.pro/news/http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw.txt", "jsonld": "https://wpnews.pro/news/http-400-in-hermes-agent-after-switching-to-claude-third-party-apps-now-draw.jsonld"}}