【Claude Code】利用枠はあるのにスレッドが使えなくなる「1M contextエラー」の原因とVSCodeでの解決策&引き継ぎの裏技
こんにちは!VSCodeで「Claude Code」を使って開発していると、非常に快適で手放せなくなりますよね。
しかし、APIのクレジット(利用枠)は十分に余っているはずなのに、突然以下のようなエラーが出て、そのスレッドで一切のやり取りができなくなって困ったことはありませんか?
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

このエラーが出ると、それまで進めていた会話や文脈がすべてロックされ、作業が中断してしまいます。初めてこのエラーに直面したとき青ざめました。
この記事では、この「1M contextエラー」が発生する原因と、VSCodeでの基本的な解決策、そして万が一スレッドが死んでしまっても一瞬で作業をスムーズに再開できる「引き継ぎの裏技」を解説します!
1. このAPIエラー(1M context)の正体とは?
結論から言うと、「スレッド内の会話履歴(コンテキスト)が長くなりすぎたため、システムが自動的に1M(100万)コンテキストモードでAPIを呼び出そうとしたが、アカウントの制限で拒否された」のが原因です。
詳しく紐解くと、以下の3つのステップでこの現象が発生します。
1Mコンテキストの利用条件
AnthropicのAPIにおいて、標準の200K(約15万語)を超える「1M(100万)コンテキスト機能(ベータ版)」を利用するには、特定のアカウント利用実績(Tier)や事前のクレジットチャージ条件を満たしている必要があります。
自動移行によるミスマッチ
アカウントが1Mコンテキストの利用条件をクリアしていない状態で、Claude Codeでのやり取り(ソースコードの読み込みや長時間の会話)が蓄積すると、Claude Code側は「このスレッドは通常のコンテキストに収まらない」と判断します。
その結果、自動的に1Mコンテキストを要求するフラグを立ててAPIリクエストを行い、Anthropic側からエラーとして弾かれます。
スレッドが永久ロックされる理由
一度この状態に陥ると、そのスレッド自体がすでに「1Mコンテキストを必要とするデータ量」を保持し続けています。そのため、再度メッセージを送信しても毎回同じエラーで弾かれ、実質的にそのスレッドは使い物にならなくなってしまいます。
2. VSCodeのClaude Code拡張機能での解決方法
CLI(コマンドライン)版であれば、起動時に --model 引数をつけて標準モデルを指定し直すことで回避できます。
しかし、VSCodeの拡張機能(GUI)上で動作させている場合は、拡張機能の設定から明示的に「標準コンテキストを使用するモデル」を固定する必要があります。
具体的な解決手順
VSCodeの設定画面を開く
Windows/Linux: Ctrl + ,
Mac: Cmd + ,
拡張機能のモデル設定へ移動
設定の検索バーに Claude Code (またはお使いの関連拡張機能名)を入力し、APIやモデル(Model)に関する設定項目を探します。
モデルID(Model ID)を明示的に指定する
デフォルトの「自動選択」になっている設定を上書きし、標準コンテキスト(200K)のモデル名を直接入力して固定します。これにより、拡張機能が勝手に1Mコンテキスト用のモデルやベータヘッダーを呼び出すのを防ぎます。
入力例: claude-3-7-sonnet-20250219 や claude-3-5-sonnet-20241022
設定の反映(ウィンドウの再読み込み)
Ctrl + Shift + P (Mac: Cmd + Shift + P)でコマンドパレットを開きます。
Developer: Reload Window を実行し、変更した設定を完全に反映させます。
3. 【裏技】スレッドが死んでも一瞬で復旧!「session_log.md」を使ったスムーズ引き継ぎ術
上記のモデル固定を行っても、開発規模が大きくなると、会話の総量が物理的に標準モデルの上限(200Kトークン)を超えてしまい、エラーが再発することがあります。
その場合はスレッドを新しく(New Chat)するしかありませんが、それまでの会話の「文脈」や「開発中の細かい進捗」が消えてしまい、また一から説明し直すのは非常に面倒ですよね。
そこで、あらかじめ仕込んでおくことで、一瞬で新スレッドに作業を引き継げる「最強の運用ルール(裏技)」をご紹介します!
ステップ1:ワークスペース内に「docs」フォルダを作る
開発を始める際、プロジェクトのルートディレクトリに docs フォルダを作成しておきます。
ステップ2:Claudeに「セッションログ」を自動更新させる
スレッドの最初に、Claudeに対して以下のルールを設定(指示)します。
💡 Claudeへの指示(プロンプト例)
このルールを最初に叩き込んでおくことで、Claudeは作業の節目節目で勝手に session_log.md を書き換えて、履歴をファイルに残してくれるようになります。
ステップ3:エラーが発生したら、新スレッドを立ち上げる
会話が肥大化してAPIエラーが発生したら、迷わず同じワークスペース内で新しいスレッド(New Chat)を立ち上げます。
ステップ4:新スレッドに「引き継ぎ指示」と「スクショ」を投げる
新しいスレッドを開いたら、以下のメッセージを送り、さらに前スレッドの最後の方(エラーが出る直前の会話など)のスクリーンショットを添付します。
💡 新スレッドでの指示(プロンプト例)
この裏技のメリット
文脈の完全再現: session_log.md にこれまでの実装の流れや未解決の課題がすべてテキストとして残っているため、Claudeがすぐに状況を把握できます。
視覚的情報の補完: 最後のスクショを添付することで、「直前にどんなエラーが出ていたか」「どこまで出力を進めていたか」の細かいニュアンスを瞬時に引き継げます。
全自動でログが溜まる: 一つの作業が終わるたびに追記するルールにしているため、開発者自身がログを手書きする手間はゼロです。
まとめ
Claude Codeは強力なツールですが、コンテキスト上限に伴う「1Mエラー」はヘビーに使うほど直面しやすい壁です。
まずはVSCodeの設定で「使用モデル」を標準モデルに固定する
普段から docs/session_log.md に履歴を自動追記させる運用ルールを敷いておく
この2つの対策をしておけば、急なスレッドの死に怯えることなく、常に最高のパフォーマンスで快適なAI開発ライフを送ることができます。ぜひ試してみてください!
もし何言ってるのかわからないとか質問とかあったらメッセージください。
また、スキを押していただけると励みになります!
