◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Claude Code
⟐ Claude Code/2026-06-02初級

Claude Code で「Credit balance is too low」が出る時の原因と対処

Claude Code を起動した瞬間に「Credit balance is too low」と返ってきて作業が止まる。サブスクリプションには加入しているのに、なぜか API のクレジット残高を見に行ってしまう——この食い違いの正体と、認証経路の切り替え・残高補充・自動チャージの設定までを、実運用の手順で順番に整理します。

claude-code132troubleshooting61billing6api39authentication3

朝、いつも通りターミナルで claude と打ち込んだら、プロンプトが出る前に赤い文字でこう返ってきました——「Credit balance is too low to access the API. Please go to Plans & Billing to upgrade or purchase credits.」。昨日まで普通に動いていたのに、です。私自身、2014年から個人でアプリ開発を続けながら Dolice Labs として4サイトを運営しているのですが、その自動投稿パイプラインを夜中に走らせていて、ある朝この一文でジョブが全部こけているのを見つけたことがあります。

このエラーは「お金が足りない」と言っているように見えて、実際にはどの認証経路で課金を見に行っているかのズレが原因であることがほとんどです。落ち着いて切り分ければ数分で復旧できます。順番に見ていきましょう。

まず確認すべきこと — あなたは今どちらの経路で課金されているか

Claude Code には、課金の経路が大きく2つあります。ここを取り違えているケースが圧倒的に多いです。

ひとつは Claude のサブスクリプション(Pro / Max)でのログイン認証。/login でブラウザ認証を済ませると、サブスクの枠内で Claude Code が動きます。月額の枠を使う方式で、API クレジットの残高とは無関係です。

もうひとつは API キー(ANTHROPIC_API_KEY)による従量課金。Anthropic Console で発行したキーを環境変数に置くと、Claude Code はそのキーに紐づくクレジット残高を消費します。残高がゼロになると、冒頭のエラーが出ます。

問題は、ANTHROPIC_API_KEY が環境にセットされていると、サブスクにログイン済みでも API キー側が優先される点です。.zshrc に昔書いたキーが残っていたり、CI 用に設定した変数がローカルにも効いていたりすると、本人はサブスクのつもりなのに API のクレジットを見に行き、残高ゼロで止まります。これが「加入しているのに残高不足と言われる」現象の正体です。

まずは今どちらで動いているかを確認します。

# API キーが環境にセットされていないか
echo "$ANTHROPIC_API_KEY"
 
# Claude Code 内でも認証状態を確認できる
# 対話セッションで /status を実行すると、現在の認証方式が表示される

echo で文字列が出てきたら、その API キー経由で課金されています。空なら、サブスクのログイン認証で動いているはずです。

対処1:サブスクで使いたいなら API キーを外す

Pro / Max に加入していて、その枠で Claude Code を使いたい場合は、環境変数の API キーを取り除くのが最短です。

# 一時的に外して試す(このシェルのみ)
unset ANTHROPIC_API_KEY
claude
 
# 恒久的に外す場合は設定ファイルから該当行を削除
# ~/.zshrc / ~/.bashrc / ~/.config/fish/config.fish などを確認
grep -rn "ANTHROPIC_API_KEY" ~/.zshrc ~/.bashrc ~/.profile 2>/dev/null

該当行を消したら、新しいターミナルを開き直してから claude を起動し、/login でサブスクのアカウントに認証します。これで API クレジットの残高を見に行かなくなります。

ここで一点だけ補足です。unset はそのシェルセッションでしか効きません。新しいタブを開くと .zshrc が再読み込みされて API キーが復活します。「さっき直したのにまた出た」という時は、たいていこのパターンです。設定ファイル本体から消すまでが対処だと考えてください。

対処2:API 従量課金で使いたいなら残高を補充する

自動化パイプラインや CI など、サブスクではなく API キーで動かしたい場面もあります。私の場合、対話的な開発はサブスク、無人で回す自動投稿は API キーという形で意図的に分けています。この場合はクレジットを補充します。

Anthropic Console(console.anthropic.com)にログインし、Plans & Billing → Credits から残高を購入します。支払い方法が未登録だと購入できないので、先にクレジットカードを登録しておきます。チャージが反映されれば、同じ API キーでそのまま動き出します。

無人運用でいちばん効くのは Auto-reload(自動チャージ)の設定です。残高がしきい値を下回ったら自動的に指定額を補充する仕組みで、これを入れておくと「夜中に残高ゼロでパイプライン全停止」が起きなくなります。アプリ収益化で AdMob を長く運用してきた身として「夜中に呼ばれない仕組み」を優先する癖があり、私が冒頭のジョブ全滅を経験して以降、自動化用のワークスペースでは必ず有効にしています。

対処3:組織アカウントなら支出上限とワークスペースを疑う

チームや組織の Console アカウントを使っている場合、原因が**ワークスペース単位の支出上限(spend limit)**であることがあります。組織全体のクレジットは残っているのに、特定のワークスペースに割り当てた月次上限に達していると、そのキーだけが残高不足になります。

この場合は Console の Settings → Limits(または該当ワークスペースの設定)で上限を確認・調整します。自分が管理者でなければ、上限を持っている管理者に引き上げを依頼することになります。個人開発から法人案件に移ったときに、ここで一度はまる人が多い印象です。

同じことを繰り返さないために

このエラーは一度仕組みを理解すると、再発時の切り分けが一瞬で済むようになります。私が普段から気をつけているのは次の点です。

認証経路を用途で固定すること。対話開発はサブスクのログイン、無人自動化は専用の API キー、と決めておくと、どちらの残高を見ればいいか迷いません。ローカルの .zshrc に自動化用のキーを置きっぱなしにすると経路が混ざるので、自動化用のキーはそのジョブのスクリプト内だけで export する運用にしています。

そして API キー運用では Auto-reload を入れておくこと。残高監視を人力でやろうとすると、忘れた頃にゼロになります。仕組みで止まらないようにしておくのが、結局いちばん静かに済みます。

エラーメッセージの「purchase credits」という文言につられて反射的にクレジットを買う前に、まず echo "$ANTHROPIC_API_KEY" で経路を一度確認してみてください。サブスクで足りるはずなのに従量課金を見に行っていた、というケースはとても多いです。

同じ場面でつまずいた方の、最初の一手の助けになれば幸いです。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

⟐ Claude Code2026-05-24
Claude Code で連続する Edit が連鎖的に失敗するときの直し方 — old_string が消える・重複する問題
Claude Code が同じファイルへ Edit を連続で投げると、2件目以降が突然『not found』や『not unique』で落ちることがあります。原因は順序依存とコンテキスト二重化で、Read 再実行と分割パッチで救えます。
⟐ Claude Code2026-05-10
Claude Code の Glob と Grep が0件を返すときの原因切り分け
Claude Code の Glob/Grep ツールがファイルを見つけられないとき、.gitignore除外・隠しファイル・パターン記法の落とし穴を切り分け、適切な代替手段で確実に発見する手順をまとめます。
⟐ Claude Code2026-05-10
Claude Code の Read が大きなファイルを最後まで読まないとき — PARTIAL view の受け取り方と offset / limit の設計
Read が大きなファイルを途中までしか返さないとき、Claude Code は PARTIAL view の通知を出しています。通知の受け取り方と、行数ではなくバイト予算で offset / limit を決める方法を、実測値とともにお伝えします。