本文へスキップ
Claude Media
Claude Code v2.1.140 — /goalの停止と企業環境での背景サービス起動失敗を解消する修正版

Claude Code v2.1.140 — /goalの停止と企業環境での背景サービス起動失敗を解消する修正版

Claude Code v2.1.140は、v2.1.139で増えた/goal・/loop・claude --bgなどの新機能が企業環境やWindows・symlink環境で詰まる問題をまとめて解消した修正中心のリリースです。

読了目安 約9

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

Claude Code v2.1.140は、直前の機能追加版v2.1.139で増えた /goal /loop claude --bg などの新機能を、企業環境・Windows・symlink設定環境でも詰まらず動かすための修正中心のリリースです。新機能の追加は限定的で、主軸はv2.1.139で踏まれた踏み抜き穴を埋める作業に置かれています。

本版で読者の体験を直接変える主な変更は次の3つです。

  • /goal がフックポリシー設定下で黙って止まる挙動が解消されます:disableAllHooksallowManagedHooksOnly を設定した環境で /goal を呼ぶと、インジケータが回り続けたまま反応が返らない不具合が、明示メッセージで停止する形に変わります
  • 企業エンドポイントセキュリティ環境で背景サービスの起動が失敗していた問題が解消されます:claude --bg の起動時に必要な猶予を延長する形で対応されました
  • Agentツールの subagent_type が大文字小文字・区切り文字を吸収して解決されます:"Code Reviewer" のように渡しても code-reviewer として正しくマッチされます

直前のv2.1.139はエージェント一覧画面・/goal コマンド・フックの args 配列形式など、ワークフロー単位の機能追加が並んだ版でした。本版はその新機能を「実環境で詰まらせない」ための調整版にあたり、v2.1.139を本格的に運用へ載せる前段として効きます。

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

企業ポリシーでhooksを制限している環境

disableAllHooksallowManagedHooksOnly をmanaged settings経由で配布している環境では、v2.1.139で導入された /goal を実行すると、進行インジケータが回り続けたまま結果が返らないケースが起きていました。フック実行が無効化されている関係で、内部で前提としているフック呼び出しがタイムアウトせずに無限待ちになる、いわゆる「サイレントハング」です。

本版では、こうしたポリシー下で /goal を呼んだ場合に、明示的なメッセージで停止する挙動に変わります。読者の側では「/goal が動かない原因がフック無効化にある」ことが画面上で判別できるようになり、ポリシーを変えずに別手段(対話モードでの段階指示など)に切り替える判断がしやすくなります。組織で allowManagedHooksOnly を敷いているケースで、v2.1.139の機能を試す前にこの修正を取り込んでおくと、原因切り分けの時間が減らせます。

Windowsで gh などの実行ファイルを後から入れている環境

Windowsで gh(GitHub CLI)などの実行ファイルがPATHに存在しない状態でClaude Codeを使うと、Nodeのイベントループが何度も where.exe を同期スポーンして再探索する挙動が起きていました。/loop のような周期処理や長時間セッションでは、この再スポーンが体感的にレスポンスを重くする要因として現れやすい事象でした。

本版ではこの再スポーンを抑える修正が入り、Windowsで gh を後入れする前提の構成や、開発者ごとに必要なCLIが混在する環境でも、イベントループが定期的に詰まる現象が解消されます。/loop でジョブを継続実行している運用で、もうひとつの修正(完了通知のある背景タスクに対する冗長なwake-upの削減)と合わせて、周期処理の挙動が落ち着く方向に効きます。

symlinkで ~/.claude/settings.json を管理している環境

dotfilesリポジトリで ~/.claude/settings.json をsymlink管理しているチームでは、v2.1.139で入ったsymlink hot-reloadの修正に回帰(regression)があり、症状として2通りの形で現れていました。

  • 編集を検知しても、変更イベントがsymlink元ではなくリンク先に誤って紐づけられ、設定ホットリロードが取りこぼされる
  • 同じ誤帰属を起点に、ConfigChange フックが本来発火すべきでないタイミングで発火する

本版でsymlink経由の編集イベントが正しく解釈されるようになり、dotfiles配下で settings.json を管理する構成でも、設定変更が即座に反映されます。CI側で設定差分を ConfigChange フックに通している運用では、誤発火による余計なフック実行も止まります。

Agentツールを自動化スクリプトから呼ぶケース

Agentツールの subagent_type 引数が、大文字小文字と区切り文字を吸収してマッチされるようになりました。たとえば "Code Reviewer" "code reviewer" "code_reviewer" のいずれを渡しても code-reviewer として解決されます。

これまでは、ドキュメントやプロンプトで人間が記述した自然な書き方をそのまま渡すと「サブエージェントが見つからない」エラーで弾かれていました。本版以降は、サブエージェント名を生成AI側の自由文に近い形で書き込んでも、内部で正規化されてからマッチに使われるため、Agent起動のための事前正規化処理を自前で組む必要が薄くなります。Agent SDKや非対話モード(-p)からAgentツールを呼んでいる自動化スクリプトでは、入力normalizationのロジックを取り除ける可能性があります。

claude --bg でバックグラウンドサービスを使うケース

claude --bg を多用するワークフロー(複数セッションを常時バックグラウンドで走らせる構成や、開発端末で常駐させてAPIリクエストを集約する構成)でも、本版で2つの摩擦が解消します。

  • アイドル退出直前のリクエスト切断:背景サービスが「もうすぐアイドル退出する」状態のときに claude --bg を呼ぶと、connection dropped mid-request で失敗するケースがありました。本版で、退出間際のサービスに新規リクエストが入った場合の挙動が修正されます
  • 企業エンドポイントセキュリティ環境での起動失敗:エンドポイントセキュリティ(EDR / EPP)を有効化しているマシンでは、プロセス起動時にエージェントが処理を挟むため、Claude Codeの背景サービスがタイムアウト前に立ち上がりきれず起動に失敗するケースがありました。本版で起動猶予が延長され、これらの環境でも claude --bg が立ち上がるようになります

企業導入の現場ではEDR/EPP配下でのプロセス起動遅延が一般化しているため、後者の修正は実環境への展開可否を左右する要素になります。

Pluginsの構成要素が黙って無視されていたケース

plugin.jsoncommandshooks などのキーを明示すると、同名の既定フォルダ(例: commands/)が読み込み対象から外れる仕様がありますが、これまでは黙って無視されるだけで、開発者は気付きにくい状態でした。

本版から、こうした「既定フォルダが構成キーによって上書きされて読み込まれていない」ケースが、/doctorclaude plugin list/plugin 画面の3ヶ所で警告として表示されます。プラグインを書いていて「commandsに置いたコマンドが認識されない」と詰まったときの原因特定が、ログを掘らなくても画面上で済むようになります。

主な変更点

改善

  • Agentツールの subagent_type マッチング — 大文字小文字・区切り文字を吸収して解決("Code Reviewer"code-reviewer)
  • エージェントのカラーパレット更新 — エージェント表示時の配色が刷新
  • プラグインの既定フォルダ無効化の警告表示plugin.json で同名キーを設定したことで commands/ などの既定フォルダが読み込まれない場合、/doctor / claude plugin list / /plugin で警告

主な修正

  • /goaldisableAllHooks または allowManagedHooksOnly 設定下で、インジケータが解決しないまま黙ってハングする問題(明示メッセージで停止に変更)
  • 設定ホットリロードでsymlinkされた設定ファイルが原因で、変更イベントが誤帰属し ConfigChange フックが意図せず発火する回帰
  • claude --bg が、背景サービスがアイドル退出直前のときに connection dropped mid-request で失敗する問題
  • エンタープライズエンドポイントセキュリティを導入したマシンで、背景サービス起動がタイムアウトする問題(起動猶予の延長で対応)
  • リモートのmanaged settings取得が401でリトライされていなかった問題(トークン強制再取得を伴う1回リトライに修正)
  • managed extraKnownMarketplaces の自動更新ポリシーが known_marketplaces.json に永続化されていなかった問題
  • /loop が、完了通知を持つ背景タスクに対しても冗長な周期wake-upをスケジュールしていた問題
  • Windowsで gh のような実行ファイルが見つからない状態のときに、where.exe の同期再スポーンが定期的に走ってイベントループが詰まる問題
  • Read ツール呼び出しで offset が空白パディングされた文字列や + プリフィックス付き文字列で渡されたときにバリデーションが失敗する問題
  • ネイティブターミナルで、フォーカスが外れたときにカーソルが入力キャレット位置に留まらない問題

v2.1.139とv2.1.140を機能体験で並べると何が違うか

直前のv2.1.139は、エージェント一覧画面・/goal・フックの新形式といった「新しい働き方を可能にする道具」が並んだ版でした。本版はそれを「既存の運用環境に着地させる」ための調整版にあたります。役割が補完関係になっているため、両版を並べて比較すると変化の方向が掴みやすくなります。

領域v2.1.139v2.1.140
/goalコマンド本体の追加(完了条件付きの自走)フックポリシー下のサイレントハングを解消
/loop既存(周期実行)冗長なwake-upスケジューリングの削減
claude --bg既存(背景サービス)アイドル退出直前の失敗と、企業EDR環境での起動失敗を修正
Agentツールサブエージェント呼び出しの整備subagent_type の柔軟マッチング
設定hot-reloadsymlinkで誤帰属する回帰同回帰を修正
Pluginsclaude plugin details で構成可視化既定フォルダの無効化を警告として可視化
Managed settings既存401リトライ、extraKnownMarketplaces の永続化を修正

v2.1.139で増えた新機能を「自社環境でそのまま使えるか」を確かめるタイミングが、本版で揃った形と読めそうです。逆に言うと、v2.1.139を導入したものの企業ポリシー / Windows / symlinkで詰まって様子見していたチームには、本版が動作確認の機会になります。

運用形態別の影響度早見表

本版の変更が利用形態別にどの程度効くかを示すと、次のとおりです。

利用形態判定主な変化
/goal をmanaged hooksポリシー下で使う明確な恩恵ありサイレントハングが明示停止に変わる
claude --bg を企業EDR/EPP環境で使う明確な恩恵あり背景サービスの起動失敗が解消
Windowsで gh などを後入れする構成明確な恩恵ありwhere.exe 再スポーンによるイベントループ詰まりの解消
dotfilesで ~/.claude/settings.json をsymlink管理明確な恩恵ありhot-reloadの取りこぼしと誤発火を解消
Agentツールを自動化スクリプトから呼ぶ条件次第subagent_type の正規化処理を自前で省ける
プラグインを開発している条件次第既定フォルダ無効化が画面警告で見える
managed settings配下の運用条件次第401リトライと extraKnownMarketplaces 永続化
ローカル単発実行のみほぼ影響なし細かな修正のみ

/goal を業務組み込みしようとして詰まっていたチーム、Windows + 企業端末で運用しているチーム、symlinkで設定を管理しているチームには、本版でまとめて摩擦が取り除かれます。

まとめ

Claude Code v2.1.140は、直前の機能追加版v2.1.139を実環境で詰まらせないことに振り切った修正版です。新機能としてはAgentツールの subagent_type マッチング柔軟化と、プラグインの既定フォルダ無効化の警告表示が加わり、残りはv2.1.139で増えた機能群が企業EDR環境・Windows・symlink管理・managed hooksポリシー下で詰まっていたケースをまとめて解消しています。

v2.1.139で /goalclaude agents を試そうとしたが、自社ポリシーやWindows端末で動かず様子見していた場合は、本版を取り込んでから再評価する流れが噛み合います。直前の機能追加版であるv2.1.139、その前の安定性向上版であるv2.1.136と並べて読むと、ここ数日のv2.1系の動きが把握しやすくなります。更新は claude update で取得でき、claude --version2.1.140 になっていれば本版の修正が反映されています。

この記事を共有:XLinkedIn