AI(Tips)
PR

Claude Pro でセッションリミットに引っかかる現象 – 「続きの作業をお願いします」が重い理由と対策

saratogax
記事内に商品プロモーションを含む場合があります

Claude Pro を契約して Claude Code を使い始めると、Opus の 5 時間枠にすぐ引っかかってしまう。

そんな経験をされている方は、私だけではないはずです。

業務では会社のエンタープライズ契約で Claude Code を使っているのですが、自宅の個人開発用に Claude Pro を年払いで契約しました。

Pro プランは個人で気軽に使える価格帯ですが、Opus を多用するとセッションリミット(5 時間枠)と週次リミットの両方を意識する必要があり、エンタープライズ契約の感覚で使うとすぐに枠を使い切ってしまいます。

今回はその中でも、「セッションがリセットされた直後に『続きの作業をお願いします』と指示すると、何も作業しないまま再びリミットに引っかかる」という不可解な現象に遭遇したので、その原因と対策を整理しました。

起きていた現象

状況を時系列で整理すると、以下のような流れでした。

  1. Claude Code で Opus を使って作業中、5 時間のセッションリミットに到達
  2. 5 時間後にリセットされたタイミングで、再開して「続きの作業をお願いします」と指示
  3. 「了解しました」と返事は来るが、作業を始めようとした瞬間にまたセッションリミット
  4. usage を確認すると、何も作業していないにもかかわらず週次リミットも 16% ほど消費されていた

「作業はしていないのに枠が消費されている」というのは、直感に反する挙動です。

しかし、Claude Code の仕組みを理解すると、これは仕組み上ごく自然な結果であることがわかってきました。

原因 1: 起動時に読み込まれるコンテキストが大きい

Claude Code は起動するたびに、以下のものを必ずコンテキストとして読み込みます

  • グローバル / プロジェクト / ローカルの CLAUDE.md ファイル群
  • メモリ機能の MEMORY.md とそこから参照される全メモリファイル
  • 登録されている MCP サーバーのツール定義一式
  • ディレクトリ構造の初期スキャン結果

特に注意したいのが MCP サーバーです。

Slack、Linear、Notion、Atlassian、Google Drive など、便利そうな MCP を片っ端から登録していると、各サーバーが提供するツール定義(JSON Schema)が起動時にすべて読み込まれます

1 ツールあたり数百〜数千トークン使うものもあり、100 個以上のツールが登録されていれば、起動しただけで数万トークン消費することも珍しくありません。

これが「何もしていないのに枠が減っていた」現象の正体の一つです。

原因 2: 「続きの作業」は履歴をすべて再送信している

もう一つ大きな原因が、--continue--resume によるセッション復帰の挙動です。

Claude API はステートレスな設計のため、過去の会話を「思い出す」には、毎ターン、それまでの全履歴を入力として送り直す必要があります。

つまり、セッションリミットに到達するくらい長く作業した後の会話を再開すると、その時点で履歴が肥大化しているため、1 メッセージ送信するだけで数十万トークン単位の入力が発生します。

「続きの作業をお願いします」という短い指示でも、裏側では膨大な過去履歴がセットで送られているため、Pro プランの 5 時間枠は数往復で枯渇してしまうわけです。

これは「続きほど重くなる」という構造的な問題で、長く作業すればするほど再開コストが膨らんでいきます。

原因 3: Opus 4.7 は単価が高い

現行の Opus 4.7 は、Sonnet や Haiku と比べて1 トークンあたりの料金(換算負荷)が大きく、Pro 枠の消費スピードが速くなります。

さらに、1M コンテキスト版を使っている場合、200k トークンを超えた時点で単価が 2 倍になる料金設定もあり、長い履歴を抱えたまま作業すると指数関数的に枠を消費していきます。

「起動コストが高い構成 × Opus × 長い履歴の続行」という三重苦が重なると、何も作業せずにリミットに到達するという冒頭の現象が起こります。

対策 1: /context と /cost でまず可視化する

原因の切り分けには、Claude Code の組み込みコマンドが便利です。

コマンド用途
/context現在のコンテキスト内訳(CLAUDE.md / MCP / 履歴 など)を可視化
/costセッション中のトークン使用量と概算コストを確認
/modelモデル切り替え(Opus / Sonnet / Haiku)
※表は横スクロールできます

特に /context は、何が枠を圧迫しているのかを一目で把握できるので、最初に叩く癖をつけておくと良さそうです。

対策 2: 使わない MCP サーバーを無効化する

起動コストを下げる最も効果的な手段が、使っていない MCP サーバーを無効化することです。

設定ファイルは以下の場所にあります。

  • ユーザーレベル: ~/.claude.jsonmcpServers セクション
  • プロジェクトレベル: プロジェクト直下の .mcp.json

該当エントリを削除(あるいは別ファイルに退避)するだけで、起動時のトークン消費を大きく削減できます。

後から claude mcp add で戻せるので、思い切って減らして問題ありません。

claude --debug で起動すると、読み込まれた MCP サーバーと消費トークンが確認できるため、Before / After の比較がしやすいです。

対策 3: 「続きの作業」より「新規セッション + メモリ参照」

セッション復帰のコストを避けるには、続きを再開するのではなく、新しいセッションで指示し直すのが結果的に軽くなります。

その際、毎回ゼロから状況を説明するのは大変なので、Claude Code のメモリ機能を活用します。

作業を中断する前に、「進捗状況と次にやることを project メモとして残しておいてください」と Claude に頼んでおきます。

次のセッションでは、以下のように短く指示するだけで済みます。

○○ の続きをお願いします。状況はメモリと git status を確認してください。

こうすることで、長大な過去履歴を背負わずに、必要最低限のコンテキストで作業を再開できます。

ちなみに、/clear は会話履歴をリセットするだけで、CLAUDE.md / MEMORY / MCP 定義は再読み込みされるため、起動コスト自体は変わりません

対策 4: モデルを使い分ける

すべての作業を Opus 4.7 で行う必要はありません。

普段は Sonnet 4.6 や Haiku 4.5 を既定にしておき、難所だけ Opus に切り替える運用にすると、5 時間枠の持ちが大きく変わってきます。

セッション中の切り替えは /model で行えますが、すでに消費した Opus 枠は戻ってきません

次回起動時から既定モデルを変えたい場合は、~/.claude/settings.jsonmodel フィールドを編集しておくのが確実です。

Sonnet4.6 でもいいのですが、作業結果がイマイチだった時の再調整などを考えると、最初から Opas4.7 を使いたくなってしまうのですよね。

対策 5: IDE で巨大ファイルを開きっぱなしにしない

VS Code や Cursor の Claude Code プラグインを使っている場合、もう一つ気をつけたいのがエディタで開いているファイルの自動添付です。

IDE 連携時には、開いているファイルや選択範囲が自動的にコンテキストへ添付される仕組みになっています。

大きなログファイルや巨大な自動生成ファイルを開いたまま Claude Code を起動・利用すると、それだけで初期トークンが膨らむ原因になります。

作業に関係ないタブはこまめに閉じておくのが無難です。

Pro ユーザー向け運用 TIPS まとめ

ここまでの内容を、実用的な TIPS として整理します。

  1. デフォルトは Sonnet / Haiku、難所だけ Opus に切り替え
  2. 使う MCP サーバーだけ有効化して起動コストを軽くする
  3. 「続きの作業」より「新規セッション + メモリ参照」で履歴の積み増しを避ける
  4. /context と /cost を時々確認する癖をつけて、消費の偏りを可視化する
  5. 作業の区切りでメモリに進捗を残してもらうことで、安全に中断・再開できる体制を作る
  6. IDE で巨大ファイルを開きっぱなしにしない。自動添付による無駄を防ぐ

エンタープライズ契約との違いを意識する

API の従量課金やエンタープライズ契約では、コストは見えてもこのような「枠を使い切って利用できなくなる」体験はあまり発生しません。

そのため、業務でエンタープライズ契約に慣れていると、つい同じ感覚で Opus を多用してしまいがちです。

Pro プランの「5 時間枠 + 週次上限」という二重キャップは、コストを定額に抑えるトレードオフとして存在しているので、それに合わせた使い方を意識する必要があります。

言い換えると、Pro はヘビーに回せば回すほど割高に感じるプランではなく、軽く長く回す前提で設計されているプランと捉えるのが正解だと思います。

まとめ

  • セッションリセット直後に「続きの作業」と指示するだけで枠を消費するのは、起動時のコンテキスト読み込みと過去履歴の再送信が原因
  • 原因を切り分けるには、まず /context/cost で内訳を可視化する
  • 使わない MCP サーバーの無効化、新規セッションでの再開、モデルの使い分け、IDE の巨大ファイル整理が主な対策
  • Pro はエンタープライズ契約と異なる「枠の体感」があるため、軽く長く回す前提で設計するのが大事

同じように Claude Pro でセッションリミットに悩んでいる方の参考になれば嬉しいです。

私自身もこれから自宅環境で MCP の整理やモデル設定の見直しを試す予定なので、実測結果はまた別記事でまとめたいと思います。

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました