Blog

Anthropic API "Your Credit Balance Is Too Low": What It Means and How to Fix It

Short answer

Your credit balance is too low to access the Anthropic API means the Claude Console organization behind your API key has run out of prepaid credits. The API rejects every request with HTTP 400 until someone adds credits. Claude Code reports the same problem as Credit balance is too low when it runs on an API key.

To fix it, a user with the Admin or Billing role buys credits under Settings > Billing in the Claude Console and turns on auto-reload. If you have a Pro or Max plan and Claude Code shows this message, it is probably using a leftover ANTHROPIC_API_KEY instead of your subscription.

If you can't add credits because the Console won't take your card, you can call the same Claude models through TeamoRouter. It speaks the native Anthropic protocol at https://api.teamorouter.com and bills per token with no subscription. You can top up from $5 by card or with USDT.

What the error looks like

From the API (an SDK, curl, or any tool built on them) you get a 400 with the type invalid_request_error. This is a real response body from a public GitHub issue, with the request ID shortened:

json
{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011C..."}

Claude Code shows a shorter version:

text
Credit balance is too low

The status is 400, not 402. Anthropic's API error reference uses 402 billing_error for problems with payment details, but an empty balance comes back as invalid_request_error. Retrying won't help until the organization has credits again. "Plans & Billing" is an older page name; in the current Console it is Settings > Billing.

Why it happens

API usage on a Console account is paid with prepaid credits. Anthropic's help article How do I pay for my Claude API usage? says that once the credits run out, you can't call the API or use the playground until you add more. The same credits pay for Claude Code when it runs on a Console API key.

These are the usual ways to end up at zero:

  • The balance ran out. Auto-reload wasn't on, so nothing refilled it.
  • The credits expired. Purchased credits expire one year after the purchase date. Expired credits appear in the invoice history on the Billing page.
  • Max or Team monthly API credits ran out. These monthly credits are spent before purchased credits and don't roll over. If the linked organization has no purchased credits or auto-reload, API requests stop until the next monthly grant. They also don't cover interactive Claude Code (Monthly API credits for Max and Team plans).
  • The key belongs to another organization. Credits are held per organization. If you belong to several, a key created in one with no credits fails even when another organization still has a balance.
  • Claude Code uses the wrong credential. Claude Code's error reference says the message also appears when Claude Code sends your requests with a Console API key when you meant to use your subscription.

How to fix it on Anthropic's side

  1. Buy credits. Sign in to the Claude Console with the Admin or Billing role and go to Settings > Billing. Click Buy credits, enter an amount and confirm. Anthropic says purchased credits are available immediately, and the balance is shown on the same page.
  2. Turn on auto-reload. In the Credit balance section, click Set up auto-reload. Enter the balance that should trigger a purchase and the balance to reload to. If you're already below the trigger, the button reads "Turn on and purchase" and charges you right away.
  3. Check which organization the key is in. Open the API keys page of the organization you just funded. If your key isn't listed there, create a new key in that organization.
  4. In Claude Code, check which credential is active. Run /status and look at the API key row. If you meant to use a Pro, Max, Team or Enterprise plan, unset ANTHROPIC_API_KEY and remove it from your shell profile and from any env block in ~/.claude/settings.json, then relaunch claude and run /login. In non-interactive mode (claude -p), Claude Code always uses ANTHROPIC_API_KEY when it is set, so a script can fail while an interactive session works.
  5. If you have credits and still get a 400, check spend limits. The API also returns 400 when usage reaches an organization or workspace spend limit you set yourself. Read the message, and check the workspace limits in the Console.

Troubleshooting table

What you see Likely cause Fix
400 invalid_request_error, "credit balance is too low" The organization's balance is zero Buy credits in Settings > Billing and turn on auto-reload
You bought credits and it still fails The key is from a different organization Create a key in the organization you funded
Pro or Max plan, Claude Code says "Credit balance is too low" An ANTHROPIC_API_KEY you approved is used instead of your subscription Run /status, unset the key, run /login
Works interactively, fails in claude -p or CI -p always uses ANTHROPIC_API_KEY when it's set Remove the key from the environment or the settings env block
Max or Team plan, the API worked last week Monthly API credits were used up or expired at the end of the cycle Buy credits, or wait for the next monthly grant
No Buy credits button Your role isn't Admin or Billing Ask an Admin to top up or to change your role
The card is declined when you buy credits Bank rules, card type or issuing country See the next section

When you can't add credits

All of the fixes above assume the Console can charge you. Sometimes it can't:

  • The card is declined. The Console takes payment by card. The card's issuing country, the billing address, the bank's rules for foreign online payments and the card type can each cause a decline. How to pay for Claude when your card gets declined covers each cause.
  • You don't control the billing. Only Admin and Billing users can buy credits or change the payment method. On a company account, that may mean waiting for someone else to approve a top-up.
  • You need an invoice instead of card payments. Anthropic offers monthly invoicing only to organizations that set it up through its sales team.

Use Claude through TeamoRouter instead

TeamoRouter is an API gateway with one key for Claude, GPT, Gemini, DeepSeek and other models. Claude runs on the native Anthropic protocol (/v1/messages), so Claude Code and the Anthropic SDKs only need a different base URL and key. You don't need an Anthropic account or Console credits, and there's no subscription: you pay per token.

  1. Create an API key in the TeamoRouter console. It starts with sk-teamo-.
  2. Top up from $5. The top-up dialog takes cards through Stripe. You can also click Pay with crypto and pay with USD₮0, which is USDT on the X Layer network, from the OKX Wallet extension in a desktop browser. You sign a transfer authorization, so there's no gas fee. Step-by-step guide: Pay for Claude with USDT.
  3. Point your tool at https://api.teamorouter.com. For the Anthropic protocol, leave /v1 off the base URL.

Claude Code (macOS / Linux):

bash
export ANTHROPIC_BASE_URL=https://api.teamorouter.com
export ANTHROPIC_AUTH_TOKEN="your TeamoRouter API key"
claude

On Windows, set the same two variables with setx and reopen the terminal. If your shell profile still exports the old Anthropic key as ANTHROPIC_API_KEY, remove it so only one credential is left. For model settings and the Windows commands, see Install and connect Claude Code.

Anthropic Python SDK:

python
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-teamo-...",
    base_url="https://api.teamorouter.com",
)

resp = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.content[0].text)

The rest of your code doesn't change. GET /v1/models lists the model IDs you can use; details are in the API integration guide.

If you see a balance error on TeamoRouter

TeamoRouter's own balance error looks different. On the Anthropic protocol it returns 402 insufficient_balance when your balance can't cover a request. Long-context requests reserve their maximum possible cost first, so you can see it with a few dollars left. Top up in the console and try again. The rules are in Billing.

FAQ

Is the error caused by my code? No. The request reaches Anthropic and is rejected because the organization has no credits. Changing the SDK, the model or the prompt won't fix it.

Does a Claude Pro or Max subscription include API credits? Pro doesn't. Max and Team plans include monthly API credits for one linked Console organization, but those credits don't cover interactive Claude Code and don't roll over.

Will my existing Anthropic SDK code work with TeamoRouter? Yes. Change the base URL to https://api.teamorouter.com and the key to your TeamoRouter key. Request and response formats stay the same.

Can I pay with USDT from my phone? Use a desktop browser with the OKX Wallet extension. Mobile browsers usually don't have the extension and show a "no wallet found" error.

Next steps

Ready to connect?Log in · top up · create an API key — three steps to start.