Claude Code v2.1.140 — /goalの停止と企業環境での背景サービス起動失敗を解消する修正版
Claude Code v2.1.140は、v2.1.139で増えた/goal・/loop・claude --bgなどの新機能が企業環境やWindows・symlink環境で詰まる問題をまとめて解消した修正中心のリリースです。
このリリースで何ができるようになるか
Claude Code v2.1.140は、直前の機能追加版v2.1.139で増えた /goal /loop claude --bg などの新機能を、企業環境・Windows・symlink設定環境でも詰まらず動かすための修正中心のリリースです。新機能の追加は限定的で、主軸はv2.1.139で踏まれた踏み抜き穴を埋める作業に置かれています。
本版で読者の体験を直接変える主な変更は次の3つです。
/goalがフックポリシー設定下で黙って止まる挙動が解消されます:disableAllHooksかallowManagedHooksOnlyを設定した環境で/goalを呼ぶと、インジケータが回り続けたまま反応が返らない不具合が、明示メッセージで停止する形に変わります- 企業エンドポイントセキュリティ環境で背景サービスの起動が失敗していた問題が解消されます:
claude --bgの起動時に必要な猶予を延長する形で対応されました - Agentツールの
subagent_typeが大文字小文字・区切り文字を吸収して解決されます:"Code Reviewer"のように渡してもcode-reviewerとして正しくマッチされます
直前のv2.1.139はエージェント一覧画面・/goal コマンド・フックの args 配列形式など、ワークフロー単位の機能追加が並んだ版でした。本版はその新機能を「実環境で詰まらせない」ための調整版にあたり、v2.1.139を本格的に運用へ載せる前段として効きます。
あなたの開発フローはどう変わるか
企業ポリシーでhooksを制限している環境
disableAllHooks や allowManagedHooksOnly を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.json で commands、hooks などのキーを明示すると、同名の既定フォルダ(例: commands/)が読み込み対象から外れる仕様がありますが、これまでは黙って無視されるだけで、開発者は気付きにくい状態でした。
本版から、こうした「既定フォルダが構成キーによって上書きされて読み込まれていない」ケースが、/doctor、claude plugin list、/plugin 画面の3ヶ所で警告として表示されます。プラグインを書いていて「commandsに置いたコマンドが認識されない」と詰まったときの原因特定が、ログを掘らなくても画面上で済むようになります。
主な変更点
改善
- Agentツールの
subagent_typeマッチング — 大文字小文字・区切り文字を吸収して解決("Code Reviewer"→code-reviewer) - エージェントのカラーパレット更新 — エージェント表示時の配色が刷新
- プラグインの既定フォルダ無効化の警告表示 —
plugin.jsonで同名キーを設定したことでcommands/などの既定フォルダが読み込まれない場合、/doctor/claude plugin list//pluginで警告
主な修正
/goalがdisableAllHooksまたは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.139 | v2.1.140 |
|---|---|---|
/goal | コマンド本体の追加(完了条件付きの自走) | フックポリシー下のサイレントハングを解消 |
/loop | 既存(周期実行) | 冗長なwake-upスケジューリングの削減 |
claude --bg | 既存(背景サービス) | アイドル退出直前の失敗と、企業EDR環境での起動失敗を修正 |
| Agentツール | サブエージェント呼び出しの整備 | subagent_type の柔軟マッチング |
| 設定hot-reload | symlinkで誤帰属する回帰 | 同回帰を修正 |
| Plugins | claude 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で /goal や claude agents を試そうとしたが、自社ポリシーやWindows端末で動かず様子見していた場合は、本版を取り込んでから再評価する流れが噛み合います。直前の機能追加版であるv2.1.139、その前の安定性向上版であるv2.1.136と並べて読むと、ここ数日のv2.1系の動きが把握しやすくなります。更新は claude update で取得でき、claude --version で 2.1.140 になっていれば本版の修正が反映されています。
関連する記事
Claude Code をもっと見る →Claude Code v2.1.139 — agent viewと /goalコマンドの追加
Claude Code v2.1.49 — エージェントの作業ツリー分離と、バックグラウンド制御の強化
Claude Code v2.1.47 — Windows・メモリ周り68項目を整える整備版
Claude Code v2.1.10 — リポジトリ初期化・メンテナンスをSetup Hookで扱えるように
Claude Code v2.0後期(v2.0.40〜v2.0.72) — Opus 4.5着地とv2.1への地ならし
Claude Code v2.1.137 — Windows VS Code拡張の起動失敗を再修正
Claude Code v2.1.136 — /clear後のMCP/Plugin喪失修正とOAuth競合解消
Claude Code v2.1.133 — ワークツリーのベース選択機能と、Hooks/Bashでのeffort連携