English

Claude Codeが「Usage credits required for 1M context」で止まった時の復旧

Pro / Max プランなのに、警告なく止まった。実際に効く手順と、効かない手順を分けて書きます。

出るエラー: API Error: Usage credits required for 1M context · turn on usage credits at claude.ai/settings/usage, or use --model to switch to standard context(新しい版は run /usage-credits ... or /model to switch to standard context)。課金している Pro と Max の両方で起き、CLI・VS Code 拡張・デスクトップ・Cowork のどれでも報告されています。執筆時点で公式の修正も「version X で直った」の告知もありません。だから以下は「完全な解決」ではなく「復旧の手順」として読んでください。

まず、自分がどちらの状況か確かめる

同じメッセージの裏に、別々の2つの原因があります。直し方が違うので、先にここを見分けます。

A. セッションの途中で出た(復旧できる側)

起きていること:セッションの文脈が20万トークンを超えて育ち(自動の圧縮が走らなかった、あるいはMCPのスクリーンショットなど大きな道具の出力がたまった、など)、次のリクエストが黙って1M contextの段へ上がり、そこが課金の壁でブロックされます。鍵は、小さいモデルならSonnetが止まった所でも圧縮できることです。

確定した復旧(無関係の複数の利用者が「効いた」と報告):

1. 小さいモデルへ切替→圧縮→戻す

# 同じセッションを小さいモデルで再開
claude --continue --model claude-haiku-4-5-20251001
# その中で:
/compact
# 圧縮できたらSonnetで再開。縮んだ文脈は20万に収まる
claude --continue --model claude-sonnet-4-6

「別のモデルで圧縮する」段はOpusでも構いません。要点は、Sonnetで止まった /compact が小さいモデルでは通ることです。

2. それでも圧縮が走らない時:セッションの大きな項目を間引く

巨大な画像やスクリーンショットが20万超えの原因なら、圧縮そのものが大きすぎて走らないことがあります。セッションのJSONLから一番大きい項目を抜いて再開します。~/.claude/projects/<project>/<session>.jsonl のセッションファイルを見つけ、先に必ずバックアップ.jsonl.bak にコピー)してから、tool_result の中の大きな type: image のブロックを小さな目印に置き換え、claude --resume <session> で再開します。

3. 最終手段:/clear

/clear は確実に解除できますが、セッションの文脈を捨てます。上の手順がどれも効かず、会話を失っても良い時だけ使ってください。

効かない回避策(時間を使わないために)

B. 新規セッションで、使用量が低いのに即出る(アカウント/サーバ側)

まっさらなセッションで、ダッシュボードに余裕があるのに即座に出る場合、確定した手元の修正はありません。起票の議論で一番強い手がかりは、この型がアカウント/サーバ側に紐づくこと(手元の設定ではない)です。正直な選択肢:

なぜMaxでも止まるのか

Maxなら無縁だと思いがちですが、そうではありません。Sonnetの1M contextはMaxでも自動では含まれません(Opusの1Mは含まれる、Sonnetの1Mはどのプランでもusage creditsが要る)。だからSonnetの長いセッションが1Mへ上がると、MaxもProと同じ壁に当たります。

再発を防ぐ

この種の問題のための、無料・MITの安全装置(圧縮前のチェックポイント、文脈の肥大の防止、費用の急増の保護)が
cc-safe-setup にあります。ワンコマンド:npx cc-safe-setup