ガイド

Claude Codeのエラーコード完全解説【2026年最新】:529・401・403・429・503の原因と対処法

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Claude Codeのエラーコード完全解説【2026年最新】:529・401・403・429・503の原因と対処法

Claude Codeのエラーコード完全解説【2026年最新】:529・401・403・429・503の原因と対処法

室谷室谷
今回はClaude Codeを使っていると必ず一度は遭遇するエラーコードの話をしましょう。中でも529、これがコミュニティで一番「どうしたらいいの?」って声が多いんですよね。
テキトー教師テキトー教師
講座でも最初の壁になりやすいんですよ。「エラーが出た、壊れた!」ってなる受講生さんが多くて。

でも実は落ち着いてコードを見るとパターンが決まっていて、対処法も明確なんです。
室谷室谷
そうなんですよ。エラーコードって一見ランダムに見えても、HTTPのルールに沿った構造になっていて・・・意味がわかると全然怖くなくなるんですよね。
テキトー教師テキトー教師
この記事では529をメインに、401・400・403・429・503の各エラーコードの意味と対処法を整理していきます。MYUUUのエンジニアチームがAPI開発で実際に遭遇するパターンと、講座での質問ベースで具体的に解説します。

Claude Codeのエラーコードの仕組み

AnthropicのAPIエラーコード一覧(公式ドキュメントより)

室谷室谷
まずベースの話として、Claude CodeとAnthropicのAPIはHTTPの標準的なエラーコード体系を使っているんですよね。だからある程度Web開発の経験がある人は「あ、これは知ってる構造だ」ってなると思います。
テキトー教師テキトー教師
整理するとこういう構造です。
ステータスコード種類エラータイプ
400クライアントエラーinvalid_request_error
401認証エラーauthentication_error
402課金エラーbilling_error
403権限エラーpermission_error
404Not Foundエラーnot_found_error
413リクエスト過大request_too_large
429レートリミットrate_limit_error
500Anthropic内部エラーapi_error
529過負荷エラーoverloaded_error
室谷室谷
4xx系はクライアント側(自分の実装や設定)の問題で、5xx系はサーバー側の問題、という区分けがHTTPの基本ですね。529はちょっと特殊で、どちらかというと503に近い「サーバー側の一時的な問題」なんですよ。
テキトー教師テキトー教師
そこが529の理解を難しくしている点で・・・「自分の何かが悪いの?」って思いがちなんですよね。でも529は「Anthropicのサーバーが今混んでいる」というサインなので、自分のコードは何も悪くないことが多いです。
室谷室谷
エラーのJSONの構造も決まっていて、こういう形で返ってきます。
{
  "type": "error",
  "error": {
    "type": "overloaded_error",
    "message": "Overloaded"
  },
  "request_id": "req_011CSHoEeqs5C35K2UUqR7Fy"
}
テキトー教師テキトー教師
request_idがちゃんと入っているのがポイントで、Anthropicのサポートに問い合わせるときに「このIDのリクエストで〇〇が起きました」って伝えると、向こう側で追跡してもらいやすくなります。

529エラー(overloaded_error):Claude Codeで最も多いエラー

Anthropicのステータスページ。全システムの稼働状況をリアルタイムで確認できる(status.anthropic.comより)

室谷室谷
本題の529ですね。これはAnthropicの公式ドキュメントに「The API is temporarily overloaded」と明記されていて、直訳すると「APIが一時的に過負荷状態」です。
テキトー教師テキトー教師
529の特徴を整理すると、「全ユーザーに影響する」という点が重要です。
室谷室谷
そこなんですよ。429(レートリミット)は自分のアカウントが上限に達したという話なので、ちょっと待てば回復する。

でも529はAnthropicのインフラ全体の問題なので、待っても解決しないことがあるんですよね・・・
テキトー教師テキトー教師
529が出やすい状況としては、AnthropicのAPIへのトラフィックが集中する時間帯や、新モデルのリリース直後なんかに多い印象です。講座でも「このタイミングで急にエラーが増えた」って報告が来ることがあります。
室谷室谷
status.anthropic.comでリアルタイムのAPI状態を確認できるので、まずここを見るのがおすすめです。「自分のコードの問題か、Anthropic側の問題か」の切り分けが一番最初にやるべきことですね。

529エラーの対処法:待つしかない場合と、できることの違い

テキトー教師テキトー教師
529の対処法は正直に言うと「待つ」が基本なんですが・・・それだけじゃ実用的じゃないですよね。
室谷室谷
実際の開発では、リトライ処理を実装するのが現実的な対応です。MYUUUでもAPI呼び出しには必ずリトライロジックを入れてます。

Anthropicの公式SDKだとこんな感じで設定できます。
import anthropic

client = anthropic.Anthropic(
    max_retries=3,  # デフォルトは2
)
テキトー教師テキトー教師
公式SDKにはデフォルトで指数バックオフのリトライが入っているので、素のAPIを直叩きするより断然安定します。受講生さんには「まず公式SDKを使おう」って話から始めるくらいです。
室谷室谷
カスタムで実装する場合は、指数バックオフ(exponential backoff)とジッター(jitter)を組み合わせるのが定石ですね。
import time
import random
import anthropic

def call_with_retry(client, messages, max_attempts=5):
    for attempt in range(max_attempts):
        try:
            return client.messages.create(
                model="claude-opus-4-5",
                max_tokens=1024,
                messages=messages
            )
        except anthropic.APIStatusError as e:
            if e.status_code == 529 and attempt < max_attempts - 1:
                # 指数バックオフ + ジッター
                delay = (2 ** attempt) + random.uniform(0, 1)
                print(f"529エラー。{delay:.1f}秒後にリトライします... (試行 {attempt + 1}/{max_attempts})")
                time.sleep(delay)
            else:
                raise
テキトー教師テキトー教師
このパターンで重要なのが「最終試行でもエラーなら例外を上げる」という部分です。無限ループは絶対にやめた方がいいです。

ユーザー体験が最悪になりますし、費用が無駄にかかることもあります。
室谷室谷
あと529が頻繁に続く場合は、Anthropicのステータスページを確認してインシデントが発生していないかチェックするのが先決ですね。インシデント中は何度リトライしても解決しないので。

529エラーと429エラーの違い

テキトー教師テキトー教師
混同しやすいのが529と429の違いです。
室谷室谷
2つの違いを表にするとこうなります。
項目529(overloaded)429(rate_limit)
原因AnthropicのAPIインフラ全体の過負荷あなたのアカウントのレート上限超過
影響範囲全ユーザーあなたのアカウントのみ
回復時間予測不可(Anthropic次第)時間帯によるが数秒〜数分
対処法リトライ + ステータス確認レート制限内に収まるよう実装調整
テキトー教師テキトー教師
「なぜか今日だけやたらエラーが出る」という場合は529の可能性が高くて、「使い込むと毎回エラーになる」という場合は429を疑うといいですね。

401エラー(authentication_error):APIキーの問題

室谷室谷
401は認証エラーで、「APIキーが正しくない」「APIキーが無効になっている」というケースが大半です。これはほぼ100%クライアント側の設定の問題なので、自分で解決できます。
テキトー教師テキトー教師
講座の序盤で一番多いのが実はこれで・・・「APIキーをコピペするときに前後にスペースが入っていた」とか「期限切れのキーを使い続けていた」というパターンがすごく多いです(笑)
室谷室谷
あるあるですね。チェックポイントはこのあたりです。
  • Anthropic Consoleで新しいAPIキーを発行しているか確認する
  • 環境変数(ANTHROPIC_API_KEY)に正しく設定されているか確認する
  • .envファイルや設定ファイルに余分なスペースや改行が混入していないか確認する
  • APIキーが失効・削除されていないかAnthropicのコンソールで確認する
テキトー教師テキトー教師
Claude CodeのCLIを使っている場合は claude コマンドでログインし直すというアプローチも有効です。Anthropic Consoleのキーを直接使っている場合と、Claude Codeの認証を通じている場合で管理方法が変わりますね。
室谷室谷
チームで使っている場合は「誰がどのキーを使っているか」の管理が甘いとこれが起きやすいです。Anthropic ConsoleのAPIキー管理画面で、古いキーは積極的に削除するクセをつけておくといいですね。

400エラー(invalid_request_error):リクエスト形式の問題

室谷室谷
400は「リクエストの中身がおかしい」というエラーで、Anthropic APIの場合はinvalid_request_errorという名前がついています。
テキトー教師テキトー教師
これが出たときは、まずリクエストのJSONの構造を確認するのが先です。よくあるパターンをリストアップすると・・・
  • modelに存在しないモデル名を指定している
  • messagesの形式が間違っている(roleやcontentの構造)
  • max_tokensを設定していない(必須パラメータ)
  • システムプロンプトの指定方法が古い形式になっている
  • Opus 4.6でprefill(アシスタントメッセージの事前入力)を使おうとしている
室谷室谷
最後のやつ、Anthropicのドキュメントに明記されているんですよね。Opus 4.6はprefillをサポートしていないので、assistantロールのメッセージを事前に送ろうとすると400が返ってくる。
テキトー教師テキトー教師
structured outputs(構造化出力)を使いたい場合は、output_config.formatを使う方法に切り替えることが推奨されています。
室谷室谷
あと400には「このモデルに対応していない機能を使おうとした」という意味で返ってくることもあるので、エラーメッセージの中のmessageフィールドを読むのが解決の近道ですね。

403エラー(permission_error):権限の問題

テキトー教師テキトー教師
403はAPIキーのパーミッション不足です。「キーは有効だけど、その機能を使う権限がない」というケースです。
室谷室谷
Anthropic Consoleでは、APIキーに対して権限スコープを設定できるようになっています。Filesエンドポイント、Batchesエンドポイントなど、機能ごとに有効化が必要なものがあって・・・古いキーだと最新機能の権限が付いていないことがあります。
テキトー教師テキトー教師
あとは「組織・ワークスペース単位でその機能が有効になっているか」という問題もあります。個人アカウントと、チームや企業のワークスペースで使える機能が違う場合があるので。
室谷室谷
403が出たら、まずAnthropicのConsoleでそのAPIキーの権限設定を確認して、必要な権限が付いているか見るのが最初のステップですね。

429エラー(rate_limit_error):レートリミット超過

室谷室谷
429は「使いすぎ」のサインです。ただし「何が上限か」にはいくつかの次元があって、ここが少し複雑なんですよね。
テキトー教師テキトー教師
整理するとこうなります。
制限の種類内容
RPM(Requests Per Minute)1分間のリクエスト数
TPM(Tokens Per Minute)1分間の処理トークン数
ITPM(Input Tokens Per Minute)1分間の入力トークン数
1日あたりのトークン上限プランごとに上限が設定されている
室谷室谷
プランごとにこれらの上限値が違うので、詳細はで確認するのが確実ですね。数字は変わりやすいので、記事に書いても古くなりやすいというのが正直なところで。
テキトー教師テキトー教師
開発段階でテストをたくさん回すと429に引っかかりやすいです。対策としては、リクエスト間に意図的にスリープを入れる、Batch APIを使う、という方法が有効ですね。
室谷室谷
MYUUUでも大量処理が必要なタスクはBatch APIを使うようにしています。レートリミットにひっかかりにくいですし、コスト的にも有利なので。
import anthropic
import time

client = anthropic.Anthropic()

# 複数リクエストを送る場合のレートリミット対策
requests = [...]
results = []

for i, req in enumerate(requests):
    if i > 0:
        time.sleep(1)  # リクエスト間に1秒スリープ
    result = client.messages.create(**req)
    results.append(result)

503エラー:サービス一時停止

テキトー教師テキトー教師
503は「Service Unavailable」で、Anthropicのサービス自体が一時的に使えない状態です。529と似ていますが、529より影響が大きいことが多いです。
室谷室谷
529が「混んでいて処理できない」なら、503は「メンテナンス中」や「障害が発生している」に近いイメージですね。
テキトー教師テキトー教師
503が出た場合は、status.anthropic.comで必ずインシデントが起きているので、そこを確認して待つしかありません。リトライしても解決しないことがほとんどです。
室谷室谷
本番サービスに組み込む場合は、503を検知したらユーザーに「只今メンテナンス中です」と表示するフォールバック画面を用意しておくのが良い設計だと思いますね。

エラーコードの確認とデバッグのベストプラクティス

室谷室谷
ここまで各エラーコードを解説してきましたが、実際の開発で「どうエラーをキャッチして処理するか」の全体像も整理しておきましょう。
テキトー教師テキトー教師
Anthropicの公式SDKを使っている場合、エラーのキャッチはこういう形になります。
import anthropic

client = anthropic.Anthropic()

try:
    message = client.messages.create(
        model="claude-opus-4-5",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Hello"}]
    )
except anthropic.APIConnectionError as e:
    # ネットワーク接続エラー
    print("接続エラー:", e)
except anthropic.RateLimitError as e:
    # 429エラー
    print("レートリミット超過:", e)
except anthropic.APIStatusError as e:
    # その他のAPIエラー(400, 401, 403, 503, 529など)
    print(f"ステータスコード: {e.status_code}")
    print(f"エラー内容: {e.message}")
室谷室谷
APIStatusErrore.status_codeを見ることで、529なのか401なのかを判別できます。コードによって対処が全然違うので、ここで分岐させるのが重要ですね。
テキトー教師テキトー教師
講座で教えるときにポイントにしているのが「ログを必ず残す」という点です。request_idをログに記録しておくと、後からAnthropicのサポートに問い合わせるときに役立ちます。
室谷室谷
request_idはレスポンスオブジェクトの_request_idプロパティで取れます。
import anthropic

client = anthropic.Anthropic()

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

# リクエストIDをログに記録
print(f"Request ID: {message._request_id}")
テキトー教師テキトー教師
本番環境では、このIDをアプリケーションのログシステム(CloudWatch、Datadog等)に残しておくと、「このユーザーのこのタイミングのリクエストが失敗した」という追跡ができるようになりますね。

エラーが出たときのチェックフロー

室谷室谷
まとめると、エラーが出たときの確認順序はこういう流れになります。
テキトー教師テキトー教師
受講生さんによく伝えるチェックフローがあって・・・
  1. まずステータスコードを確認する → 4xx か 5xx かで方向性が変わる
  2. 4xx の場合 → 自分のリクエストや設定を確認する(APIキー、リクエスト形式、権限)
  3. 5xx の場合(529含む) → status.anthropic.com でインシデントを確認する
  4. 429 の場合 → レートリミット内に収まるよう実装を調整する
  5. 解決しない場合 → request_id を控えてAnthropicサポートに問い合わせる
室谷室谷
この順番を守れば、ほとんどのエラーは原因の特定ができるはずです。焦って色々試すよりも、まずコードを読んで落ち着いて判断するのが早道ですね。

Claude Code CLIのエラーとAPIエラーの違い

テキトー教師テキトー教師
話をClaude Code CLIに絞ると、エラーの見え方が少し変わってきます。ターミナルで使っているとき、「API Error: 529」という表示が出ることがありますよね。
室谷室谷
そうですね。Claude CodeはAnthropicのAPIをラップしているので、基本的に同じエラーコードが出るんですが・・・CLIの場合は表示がシンプルで、対処法がわかりにくいことがあるんですよね。
テキトー教師テキトー教師
「⎿ API Error Repeated 529 overloaded errors」というメッセージが出ることがあって、これはClaude Codeが内部でリトライを繰り返したけど全部529で失敗した、という意味です。
室谷室谷
この場合も対処法は同じで、まずstatus.anthropic.comを見て、Anthropic側に問題がなければしばらく待ってから試し直す、というフローですね。
テキトー教師テキトー教師
Claude Code CLIで頻繁に529が出る場合、claude --versionでバージョンを確認して最新版になっているかチェックするのもひとつの手です。古いバージョンだと、最新のAPIの変更に対応できていない場合があります。
室谷室谷
あとClaude Codeを通じてAPIにアクセスしている場合、Claude Codeの認証(Proプランや課金設定)が正しくセットアップされているかも確認するとよいですね。

よくある質問(FAQ)

529エラーは自分の使い方が悪いから出るの?

室谷室谷
基本的にNoです。529は「Anthropicのサーバーが今処理できない状態」を示すもので、あなたのコードや実装の問題ではありません。

ただし、非常に高頻度でリクエストを送っている場合は429が先に出るはずなので、529が混じっているなら純粋にAnthropicの問題である可能性が高いです。

529エラーが続く場合、どのくらい待てばいいの?

テキトー教師テキトー教師
公式には「しばらく待ってからリトライしてください」としか書いていないんですよ。5分から30分程度で解消されることが多い印象ですが、大規模なインシデントの場合は数時間かかることもあります。

status.anthropic.comを定期的にチェックするのが確実です。

Max 5xプランでも529は出る?

室谷室谷
出ます。529はアカウントのプランに関係なく、Anthropicのインフラ全体の問題なのでMaxプランでも同じ状況になります。

ただしMaxプランでは429(レートリミット)はずっと高い上限なので、その部分での問題は少ないです。

429と529が同時に出るのはなぜ?

テキトー教師テキトー教師
負荷が高い状況では両方が混在することがあります。「自分のアカウントのレートが上限に近い状態」かつ「Anthropicの全体負荷も高い状態」が重なると、リトライするたびに種類が違うエラーが返ってくることがあります。

500エラーはどうすればいい?

室谷室谷
500はAnthropicの内部エラーで、ユーザー側ではどうしようもないです。request_idを控えてAnthropicのサポートチャンネルに報告するのが一番良い対応です。

同じリクエストで何度も500が出る場合は、バグレポートとして情報を提供することがAnthropicの改善に繋がります。

まとめ

室谷室谷
今回はClaude Codeのエラーコードを総まとめしました。重要なポイントをおさらいすると・・・
テキトー教師テキトー教師
各エラーコードの対処法をまとめると、こうなります。
エラーコード原因対処法
529Anthropicサーバーの過負荷リトライ+ステータス確認
401APIキーの問題キーの再確認・再発行
400リクエスト形式の誤りリクエスト構造を修正
403権限不足コンソールで権限を確認
429レートリミット超過リクエスト頻度を下げる
503サービス障害ステータス確認+待機
室谷室谷
最終的には「4xxは自分の問題、5xxはAnthropicの問題」という大原則を覚えておくと、エラーを見たときに落ち着いて対処できると思います。エラーコードは敵じゃなくて、「何が起きているか」を教えてくれる情報源なんですよね。
テキトー教師テキトー教師
開発しているとエラーは絶対出るものなので、エラーをうまく扱う実装を最初から考えておくのが大事です。今回紹介したリトライパターンや例外処理の書き方を参考に、堅牢なAPIクライアントを作ってみてください。

出典

.AI TIMES一覧に戻る