Claude Code v2.1.105 — Worktree切り替え強化、PreCompactフック、Plugin常駐監視
Claude Code v2.1.105はEnterWorktreeへのpathパラメータ追加、PreCompactフックのblock対応、Plugin向け常駐monitors機構の追加を中心に、エージェント常駐運用のインフラを整備する中規模リリースです。
このリリースで何ができるようになるか
Claude Code v2.1.105の中心は、「エージェントが長時間動き続ける前提の運用」を支えるインフラ整備です。読者目線で効くのは次の3点です。
EnterWorktreeツールにpathパラメータが追加され、現在のリポジトリの既存worktreeへ明示的に切り替えられる(「1タスク1worktree」をエージェントが選びやすくなる)PreCompactフックがcompactionをblockできるようになった: exit code2または{"decision":"block"}で重要コンテキストの意図せぬ圧縮を阻止可能- プラグインマニフェストに
monitorsトップレベルキーが追加: セッション開始時 / Skill呼び出し時に自動起動するバックグラウンド監視を宣言できる
加えて、ストリーム切断処理の5分タイムアウト化、WebFetchのCSS / JS除去、marketplace plugin依存の自動インストール修正、Skill descriptionの上限を250 → 1,536文字へ拡張など、運用で詰まりがちな静かなバグがまとめて潰されています。
あなたの開発フローはどう変わるか
worktreeを並行で運用するエージェント / 開発者
これまでEnterWorktreeは新規worktreeの作成用途が中心で、既存worktreeへ戻る動線が弱めでした。本版ではpathパラメータの追加により、現在のリポジトリに紐づく既存worktreeを明示的に指定して切り替えられます。複数ブランチを並列で走らせるエージェント運用では、worktree切り替えのコストがそのまま開発体験に響くため、地味に効く改善です。stale agent worktreeのcleanupがsquash-mergeされたPRに紐づくworktreeも自動回収対象になる改善も合わせて入っており、worktreeの自動掃除が一段進みました。
Hookで文脈管理を主導したいチーム
Claude Codeは会話が長くなると自動でcontext compaction(過去ターンの要約化)を走らせますが、タイミングによっては残したい情報が丸められることがありました。本版ではPreCompactフックが次のいずれかでcompactionの実行自体を止められます。
- exit code
2を返す {"decision":"block"}をstdoutに出力する
これにより、「ビルド結果のログがまだ参照中だからcompactしないでほしい」といったドメイン側の都合でcompactを延期するフック設計が現実的になりました。後続のv2.1.108でPrompt Cacheの1時間TTLが選べるようになる流れと合わせて読むと、「セッションを長く保つことの設計余地」が広がっているのが見えます。
プラグインを開発・配布する人
プラグインマニフェストのトップレベルmonitorsキーで、セッション開始 / Skill起動時に自動起動するバックグラウンド監視プロセスを宣言できるようになりました。ファイル監視、長時間走るビルドのwatch、外部イベントのポーリングなど、「Claudeに呼ばれなくても動いていてほしい」系の処理をプラグイン化する道筋がついた形です。Skill descriptionの上限が250 → 1,536文字へ拡張(超過時は起動時warning)もあり、プラグイン側のメタデータ表現力が一段増えています。
MCPサーバーをheavyに使う構成
- MCP stdio serverのmalformed outputでセッションがハング →
Connection closedで即failするように - headless / remote-triggerセッション初ターンでMCPツールが欠ける(サーバーが非同期接続中のケース)問題を修正
- MCPの大容量出力ガイド: MCP toolが大きな出力を返したときのtruncate案内が、フォーマット別の具体レシピ(JSONなら
jq、テキストならRead chunkサイズなど)を提示する形に
長時間運用でMCPがハングする条件、初ターンの取り落とし、大容量出力ガイドの3点がそろって整備されています。
WebFetchを使う運用
取得HTMLから<style> <script>の中身を除去するように改善されました。CSS-heavyなページで本文に到達する前にコンテンツ予算を使い切る事故を抑止します。
通常のインタラクティブ利用
UIの退行修正がまとまっています。
- alt+enter / Ctrl+Jの改行が効かないターミナル(ESC-prefix alt encoding)の問題(v2.1.100の回帰)を修正
- 長文会話でプロンプトが2行目に折り返すと画面が真っ白になる問題を修正
- fullscreen選択時の先頭スペース、インデント保持(ASCIIアートやインデント付き図の崩れ)
- bash出力のclickable file linksで出力が壊れる問題(Pythonの
rich/loguruロガーなど) /helpの縦幅問題(短いターミナル高でタブバー・Shortcuts見出し・フッターが落ちる)- 16色パレットの色あせ(Ghostty / Kitty / Alacritty / WezTerm / foot / rio / ContourをSSH / mosh越しに使ったとき)
主な変更点
EnterWorktreeにpathパラメータを追加
既存worktreeへ明示的に切り替えられるようになりました。
PreCompactHookでcompactionをblock可能に
PreCompactフックがexit code 2または{"decision":"block"}でcompactionを止められます。
Plugin向けmonitorsマニフェストキーを追加
プラグイン側でセッション開始 / Skill起動時に自動起動するバックグラウンド監視プロセスを宣言できます。
/proactiveは/loopのエイリアスに
コマンド名の整理。/proactiveは/loopのエイリアスとして正式に明文化されました。
その他の改善
- stalled streamの自動abort: APIストリームが5分間データを受信しないと自動的にabortし、non-streamingにリトライ
- 接続エラーの即時表示: ネットワーク断時にスピナーのまま沈黙せず、即座にretryメッセージを出す
- 長い単一行writeのトリミング: minified JSONなどの長大な一行をUIが延々とページングしていた問題を、UI側でtruncateする形に変更
/doctorのレイアウト刷新: status iconを伴う表示に変わり、fキーでClaudeに修正を任せられる/configのラベル改善: 設定項目名と説明がより自然な表現に- Skill descriptionの上限拡大: listing時の文字数上限が250 → 1,536文字に拡張、truncate発生時は起動時warning
WebFetchのノイズ除去: 取得HTMLから<style><script>の中身を除去- stale worktreeのcleanup改善: squash-mergeされたPRに紐づくworktreeを自動回収
- MCPの大容量出力ガイド: フォーマット別の具体レシピ(
jq/ Read chunkサイズなど)を提示
修正ハイライト
キー入力・表示系の退行修正
- alt+enter / Ctrl+Jの改行復活: ESC-prefix alt encodingを使うターミナルで改行が入らなかった問題(v2.1.100のregression)を修正
- 長文会話でプロンプトが2行目に折り返すと画面が真っ白になる問題
- fullscreen選択時の先頭スペース: アシスタント応答を複数行選択すると余分な先頭スペースが付いてくる問題
- インデント保持: アシスタント応答の先頭スペースが誤ってtrimされ、ASCIIアートやインデント付き図が崩れる問題
- clickable file linksでbash出力が壊れる問題(Pythonの
rich/loguruロガーなど)
キュー / セッション系
- キューメッセージの画像ドロップ: Claude作業中に投げたキュー送信で画像添付が落ちていた問題
- focus modeでキュープロンプトが消える問題
- one-shot scheduled taskが繰り返し発火する問題(file watcherがpost-fire cleanupを取りこぼすケース)
- resume時のmalformed text block crashを修正
/resume--worktree/branch後の "Resume this session with..." ヒントが出ない問題- EnterWorktree / ExitWorktreeの「Creating worktree」テキスト二重表示を修正
MCP / Plugin / Marketplace
- MCP stdio serverのmalformed outputでセッションがハング →
Connection closedで即failするように - headless / remote-triggerセッション初ターンでMCPツールが欠ける(サーバーが非同期接続中のケース)問題を修正
- marketplace pluginの依存自動インストール:
package.json+ lockfile付きpluginでinstall / update後にdependenciesがインストールされない問題 - marketplace auto-update破損: プラグインプロセスがファイルをopenしたままupdateが走り、公式marketplaceを壊していた問題
エンタープライズ / クラウド
- Team / Enterpriseユーザーのinbound channel notificationsが1通目以降silentlyドロップされる問題
- AWS Bedrock(非US region)の
/modelpickerが、inference profile discovery中にinvalidなus.*モデルIDをsettings.jsonに書き込んでしまう問題 - 429レートリミットエラー: API key / Bedrock / Vertexでraw JSON dumpそのまま表示していたのを、整形されたメッセージに変更
設定・環境
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICの漏出: あるプロジェクトの設定値がマシン全体の他プロジェクトのusage metricsも無効化していた問題を修正、プロジェクトスコープに正しく閉じるkeybindings.jsonのmalformed entryがsilentに読み込まれていた問題を、明確なエラーでrejectするよう修正/helpの縦幅問題- feedback surveyショートカット誤発火: 長めのプロンプト末尾でsurveyキーが発火していた問題
- 16色パレットの色あせ: Ghostty / Kitty / Alacritty / WezTerm / foot / rio / ContourをSSH / mosh越しに使ったときのwashed-out表示を修正
- Bashツールがplan mode退出時に
acceptEditsを提案してしまう(権限レベルの意図せぬdowngrade)問題を修正
「worktree + Hook + Plugin」三位一体のインフラ整備
本版の37項目は個別に見ると幅広いですが、大きな流れで見るとエージェント常駐運用のためのインフラ整備に一貫しています。
- Worktree:
path指定で既存worktreeへ戻れるようになったことで、「1タスク1worktree」をエージェントが安定して選べるようになった - Hook:
PreCompactのblock対応で、コンテキスト管理をホスト側(ユーザー / プラグイン)が主導できる余地が広がった - Plugin monitors: セッション境界を越えてプラグインが常駐できる仕組み(ただしsession開始 / Skill呼び出しをトリガに自動armする形)が入った
この3点は、Claude Code単体のCLIツールから、「エージェントと一緒にworktreeを往復しながらHookで文脈を守り、Pluginが裏で監視する」開発ホストへの移行線上にあります。直前のv2.1.101で/team-onboardingやOS CAストア信頼などチーム / 企業導入の整備が入った文脈と並べると、「個人 → チーム → 常駐エージェント」と利用形態の重さが段階的に上がっていることが読み取れます。
stalled streamの5分abortや429の整形エラー、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICのスコープ修正など、長時間・多セッション運用で表面化する地雷を潰してきている点もこの方向と合致します。短時間の対話的利用だけを見ていると気付きづらい改善群です。
まとめ
- Hook / Plugin作者は更新の効果が大きい:
PreCompactのblock対応、Pluginmonitors、Skill description 1,536文字化 - worktreeを日常的に使う開発者は推奨:
path指定で既存worktree復帰、stale worktree自動cleanup - MCPをheavyに使う構成は推奨: malformed output時の即fail、非同期接続時のtool欠落修正
- 通常のインタラクティブ利用も推奨: プロンプト折り返し白化、alt+enter改行不能、
/help崩れなどのUI回帰が解消
大きな機能追加が目立つ版ではない一方、Hookやプラグインを書く開発者にとっては設計の自由度が一段上がる版です。インタラクティブ利用だけのユーザーも、画面白化やalt+enter改行といった地味だが痛い退行が解消されているため、更新しておいて損のない版と言えそうです。直後のv2.1.108ではPrompt Cacheの1時間TTLとRecap機能が入り、長時間セッションを支える方向の整備がさらに続きます。
関連する記事
Claude Code をもっと見る →Claude Code v2.1.139 — 複数セッションを束ねるエージェント一覧と、目標達成まで走り続ける /goalコマンドの追加
Claude Code v2.1.136 — /clear後のMCP/Plugin喪失修正とOAuth競合解消
Claude Code v2.1.133 — ワークツリーのベース選択機能と、Hooks/Bashでのeffort連携
Claude Code v2.1.132 — ターミナル全画面表示を切り替え可能に、IDE停止時の安全な終了処理
Claude Code v2.1.128 — MCP接続状態の可視化と、ツール並列実行で兄弟処理が巻き込まれない修正
Claude Code v2.1.122 — Bedrock service tier環境変数と/resumeのPR URL検索
Claude Code v2.1.98 — Vertex AIセットアップウィザードとLinuxサンドボックス強化
Claude Code v2.1.97 — Focus View追加とコード補完のCedarハイライト対応