本文へスキップ
Claude Media
Claude Code v2.1.9 — Hookが追加文脈を返せるようになり、長時間セッションのAPIエラーも解消

Claude Code v2.1.9 — Hookが追加文脈を返せるようになり、長時間セッションのAPIエラーも解消

Claude Code v2.1.9はPreToolUse Hookが additionalContext を返してモデルに追加文脈を注入できるようになり、MCPツール検索の auto:N 閾値構文、${CLAUDE_SESSION_ID} 文字列置換も追加されました。長時間セッション + 並列ツール呼び出しで残留tool_resultのAPIエラーが起きる問題も解消されています。

読了目安 約5

このリリースで何ができるようになるか

Claude Code v2.1.9は、v2.1.0で広げた拡張機構(Skill / Hooks / MCP)を実運用で馴染ませるための、表現力追加と詰まり解消が同時に走るリリースです。

  • PreToolUse Hookが additionalContext を返せる: フックから「ブロック / 許可」だけでなく追加文脈をモデルに注入する経路が開きました
  • MCPツール検索の auto:N 構文: コンテキスト使用率がN% を超えたときだけ自動有効化する段階制御が可能に
  • ${CLAUDE_SESSION_ID} をSkill内の文字列置換で参照可能: セッション単位の一時ファイル名 / ログ / キャッシュキー設計が素直になります
  • 長時間セッション + 並列ツール呼び出しで起きていた残留 tool_result のAPIエラーを修正
  • MCPサーバ再接続のハングとGhostty / iTerm2 / kitty / WezTermでのCtrl+Zサスペンドが効かない問題も解消

あなたの開発フローはどう変わるか

Hookで独自の制御を書いているチーム

これまで PreToolUse Hookはツール呼び出しを「ブロック / 許可 / 入力変更」する制御が主軸でした。本版から additionalContext を返してモデルに追加情報を差し込めるようになり、強制力ではなく情報提供で誘導する書き方が可能になります。

想定される使いどころ:

  • Bash ツール実行前に .env の有無や直近のgit状態を注入し、モデルの判断材料を増やす
  • Edit ツール実行前に該当ファイルのlintルール違反を注入し、編集と同時に直すよう誘導する
  • 社内固有のコーディング規約をツール条件で注入する

MCPサーバを多数繋いでいるチーム

v2.1.7でMCPツール検索の自動遅延ロードがデフォルト化されましたが、本版では auto:N 構文によって閾値を自分で指定できるようになりました。

{
  "mcp": {
    "toolSearchAutoEnable": "auto:70"
  }
}

auto:70 と書けば、コンテキスト使用率が70% を超えてから初めて自動有効化されます。小規模タスクではコンテキストを節約し、文脈が膨らんだ段階だけツール探索に切り替える、という段階運用が設定ファイルで完結します。

Skillを書いている人

${CLAUDE_SESSION_ID} がSkill内の文字列置換として使えるようになりました。

  • セッションごとに分離した一時ファイル名にする
  • ログをセッション単位に整理する
  • キャッシュキーにセッションIDを混ぜて並列実行時の衝突を避ける

といった運用が素直に書けます。

プランファイルの保存先を変えたい人

plansDirectory 設定でプランファイルの保存先をカスタマイズできるようになりました。デフォルトの場所がCIのキャッシュ対象から外れるケースなど、保存先を制御したい場合に有用です。

長時間セッション + 並列ツール呼び出しでAPIエラーに遭遇していた人

長く回しているセッションで、APIが「孤立した tool_result ブロック」を理由にエラーを返してセッションが死ぬ問題が修正されました。並列ツール実行を多用するワークフロー(リファクタリング、複数ファイル一括変更など)で安定性が上がります。

Ghostty / iTerm2 / kitty / WezTermでCtrl+Zが効かなかった人

Kittyキーボードプロトコル下で Ctrl+Z サスペンドが無効化されていた問題が解消されました。fg でセッションを復帰させる運用に戻れます。

主な変更点

追加機能

  • auto:N 構文: MCPツール検索の自動有効化閾値をコンテキスト使用率(0-100)で指定
  • plansDirectory 設定: プランファイルの保存先をカスタマイズ
  • AskUserQuestion の「Other」入力で外部エディタ対応: Ctrl+G で長い自由記述を流し込み可能
  • Webセッション由来のコミット / PRにセッションURLを付与: どのセッション由来かの帰属情報
  • PreToolUse Hookの additionalContext 返却: モデルに追加文脈を注入可能
  • ${CLAUDE_SESSION_ID} 文字列置換: Skill内で現セッションIDを参照可能

バグ修正

  • 長時間セッション + 並列ツール呼び出しで残留 tool_result ブロック起因のAPIエラーを修正
  • MCPサーバ再接続のハング: キャッシュされた接続Promiseが解決されないままになる問題を修正
  • Kittyキーボードプロトコル下の Ctrl+Z サスペンド: Ghostty / iTerm2 / kitty / WezTermで効かない問題を修正

v2.1.0で広げた拡張機構を運用で馴染ませる流れ

本版の9項目を俯瞰すると、その多くがv2.1.0で広げられたSkill / Hooks / MCPの周辺に分布しています。

運用課題本版での対応
拡張が増えた結果コンテキストが膨らむauto:N で段階的な自動有効化
Skill間の状態管理が難しい${CLAUDE_SESSION_ID} という一意キー
Hookの表現力が足りないadditionalContext での追加文脈注入
長時間セッションで壊れる残留 tool_result / MCP再接続ハングの修正

新機能と修正が別々の狙いで入っているのではなく、「v2.1.0で広げた拡張機構を日常運用に馴染ませる」一つの方向で表現力追加と不具合修正が同時に進んでいる構成です。

前後版との位置付け

位置付け主な変更
v2.1.0起点(大型)Skill / Hooks / 権限モデル再編109項目
v2.1.7中粒の地固めMCPデフォルト遅延ロード、ワイルドカード権限の安全側補強
v2.1.9(本版)拡張表現力 + 詰まり解消auto:N / additionalContext / ${CLAUDE_SESSION_ID} + 修正3件
v2.1.14動作の地固めbashモードヒストリ補完、メモリ対策など

本版は「拡張機構の表現力を足す側」に寄ったリリースで、後続のv2.1.14が動作の地固めに寄る、という役割分担で読むと整理しやすい構成です。

まとめ

  • 長時間セッション + 並列ツール呼び出し運用: 残留 tool_result APIエラーの修正で安定性が上がります
  • Hookで自作制御を書いているチーム: additionalContext で情報提供型の制御に踏み出せます
  • MCPサーバ多数接続環境: auto:N で段階制御を入れるタイミングです
  • Skill開発者: ${CLAUDE_SESSION_ID} でセッション単位の状態管理が素直に書けます
  • MCP / Hook / Skill未使用: 直接の影響は小さく、任意更新で問題ありません

派手さはないものの、拡張を重めに使っている運用者ほど恩恵が明確なパッチです。

この記事を共有:XLinkedIn