This organization has been disabled in the Claude API: What to Do

An Anthropic key suddenly answers "organization has been disabled". What the error is, what to check, and how to move the SDK and Claude Code to another provider.

5 min · · errors · API keys

You run a familiar script or Claude Code and get back Claude API error: 400 This organization has been disabled. A key that worked yesterday stops answering, and neither changing the model nor retrying helps. Below we explain what this error means, how it differs from ordinary 401 and 429, what to check, and how to keep working by moving code and Claude Code to another endpoint without rewriting.

What the error means

The message comes from Anthropic itself, not from your code. It says that the organization (workspace) the key belongs to is disabled on Anthropic's side. That is why all keys of that organization stop working, not just one. The response body is an Anthropic-format JSON error object: the type and message text sit in the nested error object.

The exact reason is not named in the error, and you cannot guess it from the text. Possible causes include payment or organization verification problems, a terms-of-use violation, another account decision by Anthropic, or a service-side mistake. Which one applies to you is known only to Anthropic support.

How it differs from other errors

ErrorMeaningWhat to do
401The key is wrong or deletedCheck the key, create a new one
400 organization has been disabledThe whole organization is disabledClarify with Anthropic, or move the workload
429Limits exceededWait, reduce frequency
529 overloadedServer overloadedRetry later

If you get precisely the 400 with the organization text, creating a new key inside the same organization changes nothing. There is a separate article on the ordinary 401: Invalid API key.

What to check first

  1. Sign in to the Anthropic console and look at the organization status and at emails from the service on the account owner's address: a disable notice may arrive there.
  2. Make sure the key belongs to this particular organization: a project may hold several keys from different accounts, and only one causes the error.
  3. Check the payment details and balance in the console.
  4. If the cause is unclear or the disabling looks like a mistake, contact Anthropic support with the organization id and the time of the first error.

Do not try to "get around" the disabling by creating many new accounts: it may violate the terms of service and lead to new blocks.

How to continue on another provider

While the organization question is being resolved, you can keep working through an API gateway. Zukko is a separate service with its own balance and fetch_... keys: it does not lift the disabling at Anthropic and has no connection to your organization there. It simply offers the same Claude models at another address in the same /v1/messages format. Read the gateway's terms of use before paying.

Python: Anthropic SDK

Only two lines change in the code: the address and the key.

bash
import os
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.zukko.pro",   # no /v1: the SDK adds the path itself
    api_key=os.environ["ZUKKO_API_KEY"],  # fetch_... key
)

msg = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=500,
    messages=[{"role": "user", "content": "Hi! Answer in one sentence."}],
)
print(msg.content[0].text)

The address is given without /v1: the official Anthropic SDK adds that prefix itself, and an extra segment gives 404. The request format is described in the Messages API section.

TypeScript

bash
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.zukko.pro",
  apiKey: process.env.ZUKKO_API_KEY,
});

The rest of the code (messages.create calls, streaming, tools) stays the same.

Claude Code

Claude Code is configured through environment variables:

bash
export ANTHROPIC_BASE_URL="https://api.zukko.pro"
export ANTHROPIC_AUTH_TOKEN="fetch_your_key"
export ANTHROPIC_MODEL="claude-sonnet-5-5"
claude

The variable you need is ANTHROPIC_AUTH_TOKEN. If an old variable holding an Anthropic key remains in your environment or shell config, remove it so it does not override the new setup. If Claude Code still asks you to sign in, log out of the old authorization (the /logout command inside the program) and check that the variables are visible in the shell where you launch claude. Typical causes are described in the article Claude Code asks to sign in to Anthropic. The full guide is in the Claude Code section of the Zukko docs.

Checking and pricing

Make sure the model is in the list:

bash
curl -s https://api.zukko.pro/v1/models \
  -H "Authorization: Bearer $ZUKKO_API_KEY" | head -c 600

Then run the test request from the example above. Prices as of October 18, 2026, $ per 1M tokens. For claude-sonnet-5-5, input 0.4 and output 2: a request of 10,000 input and 1000 output tokens costs 10,000 × 0.4 / 1M + 1000 × 2 / 1M = 0.004 + 0.002 = $0.006. For claude-opus-5-5 (0.8 / 4) the same request is 0.008 + 0.004 = $0.012. The cache discount for Claude comes from the Anthropic format, that is, the /v1/messages path that you use in the SDK and Claude Code. For current prices and the model list, use GET /v1/models and the "Models" page in the dashboard.

How not to be left without access next time

  • Keep keys and the address in configuration, not in code: switching providers should come down to changing two variables.
  • Do not tie a project to a single vendor: set up a fallback and test it monthly.
  • A separate key per project with a daily limit makes investigating problems easier.
  • Watch for emails from the provider at the account owner's address.

FAQ

Is this a bug in my code?

No. The response is produced by Anthropic's server, and the cause is the organization status, not the request. There is no need to change code because of this error.

Will a new key help?

If the key is created in the same disabled organization, no. The restriction applies to the whole organization.

Does the same code work through Zukko unchanged?

The request structure does not change: the same messages.create, streaming and tools. The address, key and, if needed, the model name from the GET /v1/models list change.

How do I pay?

The balance is shared and in dollars, top-ups from $1. Payment from Russia: SBP, MasterCard or cryptocurrency. The payment page adds an 8.5% fee on top for SBP.

To check the connection, create a key in the Zukko dashboard and run the example above.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

Claude API error 400: organization has been disabled · Zukko