はじめに
Claude CodeでMCPサーバーやサブエージェントを多用していると、1つのツール呼び出しがいつまでも終わらない、あるいはサブエージェントが次々に増殖して止まらない、という事態に一度は遭遇する。セッションが固まって使い物にならなくなる根本原因は、こうした「終わらない処理」に上限が存在しなかったことにある。
Claude Codeの公式changelogを確認したところ、2026年7月17日付のバージョン2.1.212で、この種の暴走を止めるガードレールが複数追加されていた。本記事は公式changelogの内容を一次情報として、追加された制限機構を整理する。
この記事で学べること
- MCPツール呼び出しの自動バックグラウンド化としきい値の変更方法
- WebSearchツール呼び出しのセッション単位の上限
- サブエージェント生成数のセッション単位の上限と
/clearによるリセット
対象読者
- Claude CodeでMCPサーバーやサブエージェントを日常的に使う開発者
- セッションが固まる・暴走する経験をしたことがある人
TL;DR
- MCPツール呼び出しが2分を超えて実行中の場合、自動的にバックグラウンドへ移行するようになった。しきい値変更・無効化は
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで行う - WebSearchツール呼び出しにセッション単位の上限(既定200回)が追加された。変更は
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION - サブエージェント生成にもセッション単位の上限(既定200件)が追加された。変更は
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION。/clearで予算がリセットされる - 同バージョンで
/forkの挙動も変わり、会話を新しいバックグラウンドセッションへコピーする形式になった
MCPツール呼び出しの自動バックグラウンド化
公式changelogによると、2.1.212では「MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable」という変更が加えられている。MCPサーバー側の処理が長引いても、Claude Code自体のセッションはブロックされず操作を継続できる、という設計である。
しきい値は CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS 環境変数で変更、あるいは無効化できるとされている。長時間実行が想定される自作MCPサーバーを運用している場合、既定の2分(120,000ミリ秒)が短すぎると誤ってバックグラウンド化されるおそれがあるため、この変数の存在は把握しておく価値がある。
WebSearch・サブエージェントのセッション上限
同バージョンでは、暴走ループを止めるための上限が2種類追加された。
| 対象 | 既定値 | 変更用の環境変数 |
|---|---|---|
| WebSearchツール呼び出し | 200回/セッション | CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION |
| サブエージェント生成 | 200件/セッション | CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION |
changelogの記述では、WebSearchの上限は「to stop runaway search loops」、サブエージェント生成の上限は「to stop runaway delegation loops」と、それぞれ暴走ループの停止を目的として明記されている。サブエージェント生成数の上限は /clear を実行すると予算がリセットされる仕様である。
この2つの上限が同じバージョンで同時に導入されている点は、Claude Codeがエージェント的な自律実行(検索の連鎖・タスクの委譲の連鎖)を許容する設計であるほど、意図しない無限ループのリスクも比例して高まることを示唆している。上限値そのものより、「エージェントの自律性を上げるほどガードレールが必要になる」という設計判断が読み取れる変更である。
そのほかの変更点(同バージョン)
-
/forkの挙動が変更され、現在の会話を新しいバックグラウンドセッション(claude agentsの一覧に独立した行として表示される)へコピーする形式になった。従来/forkが起動していたセッション内サブエージェントは/subtaskに分離された -
claude auto-mode resetコマンドが追加され、auto-modeの設定を既定値に戻せるようになった(確認プロンプトあり、--yesでスキップ可) -
/resumeのピッカーに、リストから削除済みのセッションも含めて表示されるようになり、選択したセッションはバックグラウンドセッションとして再開される
このほかにもプランモードでのBashコマンド無許可実行の修正、Windows環境での /background 失敗の修正など、多数のバグ修正が同バージョンに含まれている。
まとめ
Claude Code 2.1.212は、MCPツール呼び出しの自動バックグラウンド化、WebSearchとサブエージェント生成のセッション単位の上限という、3つの暴走防止機構をまとめて導入したバージョンだった。いずれも既定値のまま使う分には意識する必要のない変更だが、長時間実行のMCPサーバーや大量のサブエージェント委譲を行うワークフローを組んでいる場合は、該当する環境変数の存在を知っておくと、意図しないバックグラウンド化や上限到達に遭遇したときに原因の切り分けが早くなる。
関連記事
- Claude Codeの「壊れたループ防止」、実装まで覗いたら効いていた
- Claude Code Hooks完全ガイド — 開発ワークフローを自動化する18イベントの活用法
- Claude Codeの/rewind、事故った3時間を1コマンドで巻き戻せる仕組みだった