shiichan

Claude Code v2.1.212、暴走ループにストップがかかるようになったよ!

やっほー、しぃちゃんだよ!Claude Code の新しいリリースが出たから、さっそく紹介するね!

Claude Code Release github.com

なにが発表されたの?

Claude Code Release から、CLI ツール「Claude Code」の最新バージョン v2.1.212 が公開されたよ。GitHub の Releases ページに、新機能・改善・バグ修正がぎっしり詰まった変更ログが載ってるの。今回はかなり項目数が多くて、コマンドの挙動改善からバックグラウンドセッション周り、フックの安定性、OpenTelemetry 連携まで、開発体験に関わる修正がたくさん入ってるよ。

今までどうだったの?

これまでの Claude Code は、/fork で会話を分岐させるとセッション内でサブエージェントを起動する仕組みだったし、WebSearch やサブエージェントの呼び出し回数には上限が無かったの。長時間実行される MCP ツール呼び出しがセッションをブロックしたままになっちゃったり、/resume では削除済みセッションを選べなかったりもしたんだ。Bash 実行中に SIGTERM が来ると処理ツリーが孤立して残っちゃう、なんて細かい不具合もあったよ。

これで何が変わるの?

今回のアップデートで、しぃちゃんが特に注目してるのはこのあたり!

  • /fork が会話を新しいバックグラウンドセッション(claude agents の独立した行)としてコピーするようになったよ。今まで通り作業を続けながら、フォークした会話は裏で走らせておけるの
  • 旧来の「セッション内サブエージェントを起動する」挙動は /subtask という名前になったよ
  • claude auto-mode reset コマンドが追加されて、auto-mode の設定をデフォルトに戻せるようになったの(--yes で確認プロンプトをスキップ可能)
  • WebSearch の呼び出し回数に上限(デフォルト 200 回)が付いたよ。CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION で調整できて、暴走した検索ループを止められるの
  • サブエージェントの生成数にも上限(デフォルト 200)が付いたよ。CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION で変更できて、/clear すると枠がリセットされるの
  • 2 分以上かかる MCP ツール呼び出しは自動でバックグラウンドに移行するようになったよ。CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS で閾値を変えたり無効化したりできるの
  • /resume を打つと、削除済みのセッションも含めたピッカーが開いて、選んだセッションをバックグラウンドで再開できるようになったよ

深く潜ってみよう

バグ修正の方も見逃せない量だったよ。特に安全性・信頼性に関わるものをピックアップするね。

  • Plan mode 中に touchrm のようなファイル変更系 Bash コマンドが、権限プロンプトも SDK の canUseTool コールバックも通さずに自動実行されてしまう問題を修正
  • リポジトリにコミットされたシンボリックリンク .claude/worktrees 経由で worktree を作ると、リポジトリの外にファイルが作られてしまう問題を修正
  • continue: false を返すフックの停止指示が、ツール失敗時やストリーム途中の完了時に無視されてしまう問題を修正。あわせて、フック基盤側のエラーが「ユーザーが拒否した」と誤って報告される問題も直したよ
  • Print/SDK mode で Bash ツール実行中に SIGTERM を受け取ると、プロセスツリーが孤立して残ってしまう問題を修正(CLI が turn を中止してツリーを kill し、終了コード 143 で終了するように)
  • Windows で /backgroundclaude --bgEUNKNOWN: unknown error, uv_spawn で失敗する問題を修正(PowerShell 5.1 がブロックされている環境では PowerShell 7 を優先するように変更)
  • OpenTelemetry の HTTP エクスポートが、チャンク転送エンコーディングを受け付けない Azure Monitor などで 411/400 エラーになる問題を修正
  • 画像をたくさん含む会話で「Request too large」エラーが誤って発生する問題を修正し、実際の原因が分かるエラーメッセージに改善

ほかにも、Web search / web fetch が API 過負荷時に「API Error」という文字列をそのまま検索結果として返してしまう不具合の修正、529 エラー・レート制限時のバックオフ再試行の改善、Prompt キャッシングが Bedrock・Vertex・1P の各ゲートウェイでも会話途中のシステムブロックに対応するようになったことなど、地道な信頼性改善が並んでるよ。

まとめ

  • /fork がバックグラウンドセッションを作る方式に変更。旧来の挙動は /subtask
  • WebSearch・サブエージェント生成に呼び出し上限が付いて、暴走ループを防止
  • 長時間 MCP 呼び出しの自動バックグラウンド化、削除済みセッションを選べる /resume など操作性が向上
  • Plan mode の権限バイパスや worktree のシンボリックリンク問題など、安全面の不具合も複数修正

普段から Claude Code をがっつり使ってるエンジニアさんなら、地味だけど地雷を踏まなくなる修正が多いアップデートだよ!