この記事ではClaude Code v2.1.146〜v2.1.150(2026-05-19〜23リリース)の5本に特化して解説します。Claude Code全般は Claude Code完全ガイド2026:インストールから本番運用まで をご覧ください。直前の更新は Claude Code v2.1.144〜145|–json出力・OTELトレース・PR表示の3大強化 を参照してください。
- 5月19〜23日に v2.1.146 / 147 / 148 / 149 / 150 の5本が連続リリース
- v2.1.149 の
/usageカテゴリ別ブレイクダウンで skills / subagents / plugins / MCPサーバ別に上限消費を可視化できるようになった - v2.1.149 の PowerShell
cd../cd\権限昇格バイパスを修正(セキュリティFix、Windowsユーザー要更新) - v2.1.147 で
/simplifyが/code-reviewに改称、effortレベル指定とPRコメント直接投稿対応に振り直し - v2.1.147 でピン留めされたバックグラウンドセッションがアイドル中も常駐、再起動時もin-place restartで生き残る
- v2.1.148 はv2.1.147で混入したBash exit 127リグレッションの単発hotfix(即時更新推奨)
- v2.1.150 はユーザー向け変更なし(内部インフラ改善のみ)
v2.1.146〜150:5日連続リリースの全体像
Claude Codeは1日1リリースに近い頻度で更新が続いており、今回扱う5月19日〜23日の5本もそのリズム上にあります。リリース系統を整理すると、v2.1.146 と v2.1.149 が機能追加とセキュリティFixの本体、v2.1.148 が緊急hotfix、v2.1.150 がユーザー不可視の内部改善という構造になっています。
5/19
(前回記事)"] --> B["v2.1.146
5/19
パッチリリース"] B --> C["v2.1.147
5/21
/simplify→/code-review
bgセッションピン留め"] C --> D["v2.1.148
5/22
Bash exit 127
緊急hotfix"] D --> E["v2.1.149
5/22
/usage カテゴリ別
PowerShell権限Fix"] E --> F["v2.1.150
5/23
内部インフラ改善"] F --> G["並列エージェント時代の
運用・観測性が完成へ"]
この5本の意味を一言でまとめると、「並列エージェント運用が前提になったClaude Codeの、コスト可視化とWindowsセキュリティの仕上げ」です。以下に主要な追加・修正を整理します。
| バージョン | リリース日 | カテゴリ | 主な変更 |
|---|---|---|---|
| v2.1.146 | 2026-05-19 | パッチ | UI微調整・バグ修正中心の小規模パッチ |
| v2.1.147 | 2026-05-21 | 中規模機能追加 | /simplify→/code-review改称、bgセッションピン留め、auto-updater改善、Enterprise設定強制、約20件のバグ修正 |
| v2.1.148 | 2026-05-22 | hotfix | Bashが全コマンドでexit 127になるv2.1.147リグレッション修正 |
| v2.1.149 | 2026-05-22 | 大規模機能追加 | /usageカテゴリ別ブレイクダウン、/diffキーボードスクロール、GFMチェックボックス描画、PowerShell cd権限昇格Fix、worktreeサンドボックス絞り込み、約25件のバグ修正 |
| v2.1.150 | 2026-05-23 | 内部 | ユーザー向け変更なし(インフラ改善) |
以下、影響度の大きい順に深掘りします。
v2.1.149:/usage がカテゴリ別ブレイクダウンに対応
5月下旬リリースの目玉は /usage の刷新です。これまで /usage コマンドは「現在の上限に対して何%消費したか」のサマリを表示するだけでした。v2.1.149からは、消費量をカテゴリ別に分解して表示します。
カテゴリは次の4つです。
- skills — 有効化されているSkillが消費するトークン
- subagents —
.claude/agents/配下のサブエージェントが消費するトークン - plugins — 各プラグインが提供するcommands/agents/skills/hooks/MCP合算
- MCPサーバ — MCPサーバごとの個別内訳(サーバ名別に表示)
なぜカテゴリ別の数値が効くのか
複数Skill+複数プラグインを有効化した状態で長時間Claude Codeを使っていると、コンテキストが想定より早く埋まる事象が頻発します。これまでは「どれが原因か」を勘で切り分けるしかなかったのが大きな運用課題でした。
# v2.1.149 の /usage 出力イメージ
$ claude
> /usage
Usage Breakdown (current session, last 1h):
Total context used: 68,420 / 200,000 (34%)
By category:
skills: 12,840 (19%)
- graphify 8,200
- x-viral 3,210
- others 1,430
subagents: 8,520 (12%)
- explore-agent 5,100
- code-reviewer 3,420
plugins: 18,420 (27%)
- linear-mcp 12,840
- github-mcp 3,210
- others 2,370
mcp servers: 28,640 (42%)
- claude_preview 14,200
- chrome_mcp 8,820
- computer_use 5,620
See `/plugin remove <name>` to disable heavy plugins.
この出力があれば「linear-mcp プラグインが12K tokens食っているので、Linear連携を使わない日は無効化する」「claude_preview MCPサーバが14K tokens使っているので、UI作業をしない日は接続しない」といった意思決定が根拠付きで行えます。
/usage 結果を週次でスクリーンショット保存しておくと、コンテキスト消費の経時変化を追えます。新しいプラグインを入れた週に消費が急増していれば、そのプラグインを評価対象にする判断材料になります。
Claude Code v2.1.144〜145|–json出力・OTELトレース・PR表示の3大強化 で扱った claude agents --json と組み合わせれば、複数バックグラウンドセッションそれぞれの /usage を定期収集してダッシュボード化することも可能です。
v2.1.149:PowerShell cd.. / cd\ の権限昇格バイパス修正(セキュリティ)
v2.1.149で修正されたバグの中で最も注意が必要なのが、PowerShellの組み込み cd 関数を使ったサンドボックスバイパスです。
問題の構造
Claude CodeはBash/PowerShellツールでコマンドを実行する際、許可されたディレクトリ外への読み書きを抑制するサンドボックスを持っています。通常の cd /some/path は PWD/OLDPWD の変化として追跡され、許可ディレクトリ外への移動なら権限プロンプトが表示されます。
問題は、PowerShellに組み込みの cd 関数(PowerShell5.1以降でビルトイン定義されている)が存在し、これらは独自の挙動を取ることでした。
cd..— 親ディレクトリへ移動(スペース無し)cd\— ドライブルートへ移動cd~— ホームディレクトリへ移動X:— Xドライブへ移動(cdすら不要)
v2.1.148以前のClaude Codeのサンドボックスは、これらの組み込みフォームを実行可能ファイルでもスペース付きcdでもないと判定してパース対象から外していました。結果、組み込みcdで作業ディレクトリ外に移動した後の読み取りが検出されないまま実行されてしまいます。
# v2.1.148以前は以下が無検知で通っていた(Windowsのみ)
cd.. # 親へ
cd.. # さらに親へ
Get-Content secret.txt # 本来ならサンドボックス外、権限プロンプト無しで読めていた
# v2.1.149以降は cd.. の時点でPWDが追跡され、許可外なら権限プロンプト表示
PWD/OLDPWD/DIRSTACK の変数追跡修正
合わせて、cd / pushd / popd をまたいだ PWD / OLDPWD / DIRSTACK 変数の追跡値が古くなる問題も修正されました。pushd/popdを多用するスクリプトで、サンドボックスが「直前のディレクトリ」と認識しているパスが実態とずれて、許可判定が空振りする状況がありえました。
Git worktree のサンドボックス書き込みホワイトリスト修正
同じくセキュリティ系の修正として、git worktreeでの書き込みホワイトリストがメインリポジトリ全体ではなく共有 .git ディレクトリのみをカバーするよう絞り込まれました。さらに .git/hooks/ と .git/config は除外されます。
これまでは「git worktreeを使っているプロジェクトは、bgセッションがメインリポジトリ配下の任意ファイルを書き換えられる」状態でした。pre-commit hookやgit configを書き換えればローカル環境に永続化された任意コード実行が可能だったため、worktreeを使う開発者にとっては重要な修正です。
- 最優先: WindowsでPowerShellを使うユーザー(cd..バイパス影響)
- 高: git worktreeを日常的に使う開発者(書き込みホワイトリスト絞り込み)
- 中: PowerShellのプレフィックス/ワイルドカード許可ルール(例:
PowerShell(dotnet.exe build *))を多用するユーザー
PowerShellのプレフィックス/ワイルドカード許可ルールがネイティブ実行可能ファイルとスクリプトを事前承認しない問題も同時に修正されました。PowerShell(dotnet.exe build *) のような許可ルールを書いている場合、これまで毎回プロンプトが出ていたのが正しく事前承認されるようになります。
v2.1.149:/diff キーボードスクロール対応
/diff 詳細ビューがキーボード操作でスクロールできるようになりました。これまではマウススクロール(マウスサポートが有効なターミナルでのみ)に依存しており、SSH越しやマウスを使わない作業フローでは大きな差分が見づらいという問題がありました。
サポートキー:
- 矢印キー(↑↓)
j/k(vim風)PgUp/PgDnSpace(1ページ送り)Home/End(先頭/末尾ジャンプ)
vimユーザーには j/k バインディングが特に効きます。大きなdiffを上から下までキーボードだけで流せるようになり、レビュー作業のテンポが大きく改善します。
v2.1.149:GFMタスクリストチェックボックス描画
Markdown出力でGFM(GitHub Flavored Markdown)形式のタスクリストチェックボックス(- [ ] todo / - [x] done)が、ターミナル上で実際のチェックボックス記号として描画されるようになりました。
これまでは単なる箇条書きとして以下のように表示されていました。
- [ ] タスク1
- [x] タスク2 (完了)
- [ ] タスク3
v2.1.149以降は次のような視覚的な区別がつきます(実際の描画はターミナル依存)。
☐ タスク1
☑ タスク2 (完了)
☐ タスク3
Claudeに「タスクリストを作って進捗を管理して」と頼むユースケースの可読性が一気に上がります。
v2.1.149:Enterprise向け allowAllClaudeAiMcps マネージド設定
Enterpriseユーザー向けの追加設定として allowAllClaudeAiMcps が managed-mcp.json に並んで導入されました。これを有効にすると、組織が許可リストで個別MCPコネクタを管理する代わりに、claude.aiクラウド経由のMCPコネクタをまとめて読み込むことができるようになります。
組織のIT管理者がMCP接続を許可制で管理しつつ、claude.aiコネクタ群は包括的に使わせたいケースを想定した設定です。
v2.1.147:/simplify が /code-review に改称、動作も再設計
/simplify コマンドが /code-review に改称されると同時に、動作内容も全面的に振り直されました。
旧 /simplify の動作(v2.1.146以前)
これまでの /simplify は「コードの複雑性を下げる」目的で動作していました。具体的には:
- 不要なネスト・条件分岐の削減
- 冗長な抽象化の除去
- ヘルパー関数のインライン化
「リファクタリングAIとしての /simplify」というポジションでした。
新 /code-review の動作(v2.1.147以降)
v2.1.147以降は正確性バグを effort レベル指定でレポートする動作になりました。
# 中effortでコードレビュー(少数の高確度バグを報告)
/code-review
# 高effortで網羅的にスキャン(不確実なものも含む可能性あり)
/code-review high
# GitHub PR にインラインコメントとして投稿
/code-review high --comment
--comment フラグを渡すと、findingsをGitHub PRにインラインコメントとして直接投稿します。これまで gh pr review を別途叩いていたフローが、Claude Code内で完結します。
旧 /simplify のクリーンアップ動作は完全に削除されました。/simplify の感覚で /code-review を実行すると挙動が違う点に注意してください。リファクタリング目的でClaude Codeを使うなら、通常の対話セッションで「このコードをリファクタしてください」と指示する形に戻ります。
# 旧 /simplify ライクな使い方を再現したい場合
$ claude -p "src/auth.py の冗長な抽象化を除去してリファクタしてください。\
振る舞いは変えずに、不要なクラス・ヘルパー関数をインライン化してください。"
v2.1.147:バックグラウンドセッションのピン留め+in-place restart
claude agents 画面で Ctrl+T を押すとセッションをピン留めできる新機能が入りました。ピン留めされたバックグラウンドセッションは、以下の3つの特性を持ちます。
- アイドル中もアクティブ状態を保持 — 通常のbgセッションはアイドル時間が長いと自動的にdormant状態に落ちますが、ピン留めセッションは常駐し続けます
- Claude Code更新を適用するため in-place restart 可能 —
claude update等でClaude Code本体をアップデートしたとき、ピン留めセッションは状態を保ったまま新バイナリで再起動されます - メモリ不足時は最後にshed — システムリソースが不足した場合、ピン留めされていないセッションが先に終了され、ピン留めセッションは可能な限り守られます
長時間モニタリング型のエージェント(CI監視・ログ監視・データセット監視など)を claude agents で常駐させているユーザーには、in-place restartが特に大きい改善です。これまでは claude update を実行するたびに全bgセッションを再起動する必要があり、リアルタイム監視に空白時間が発生していました。
# bgセッションを起動してピン留め
$ claude agents
> Tab で対象セッションを選択 → Ctrl+T でピン留め
# Claude Code をアップデート
$ claude update
# → ピン留めセッションは in-place restart で状態保持
# → 非ピン留めセッションは通常通り再起動
v2.1.147:auto-updater の信頼性改善
自動アップデータが以下の3点で改善されました。
- transient ネットワーク失敗のリトライ — DNS失敗・一時的な接続切断を自動再試行
- エラーカテゴリと OS エラーコードの報告 — 失敗時のメッセージから原因を特定しやすくなった(権限エラー・ディスク不足・ネットワークエラーの区別が明示される)
- 更新失敗時に現在のバージョン表示 — どのバージョンに留まったかが分かるようになり、手動回復が容易
ネットワーク状態が不安定な環境(モバイルテザリング・カフェWi-Fi・社内プロキシ経由)で claude update が失敗しやすい問題が、明示的なエラーメッセージとリトライで改善されます。
v2.1.147:Enterprise ログイン制限の強制
Enterprise管理者向けの forceLoginOrgUUID と forceLoginMethod マネージド設定が、これまでサードパーティプロバイダーとAPIキーセッションには強制されていなかった問題が修正されました。
組織が「Anthropic OAuth経由でしか使わせない」「特定組織UUIDのみ許可」というポリシーを敷いていても、ユーザーが個人のAPIキーで起動すると制限を回避できる状態だったということです。Enterprise契約のユーザーは v2.1.147以降にアップデートしないと、ポリシーが実効的に機能しません。
v2.1.147:その他の主要バグ修正
20件超のバグ修正の中から、運用に影響が大きいものを抜粋します。
| 修正内容 | 影響するケース |
|---|---|
! コマンド出力で & が & として表示される |
gcloud auth login 等のURLをコピペすると壊れていた |
| headless/SDKモードで不明なスラッシュコマンドが無言で何もしない | エラーが見えず、コマンドtypoに気づけなかった |
小さいターミナルで /help が壊れたタブヘッダーをレンダリング |
ページごとに1コマンドしか見えない症状 |
| シェルスナップショットが単一アンダースコアで始まるユーザー関数をドロップ | _my_helper のような関数を参照するエイリアスが破壊される |
フロントマター tools: で複数の Agent(...) 型を宣言したプラグインエージェントが最後のエントリのみを保持 |
複数Agent型を使うプラグインで実質1つしか有効でなかった |
hook if 条件 PowerShell(git push*) がマッチしない |
PowerShell(*) でしか使えなかった |
ペーストされたテキストが[Pasted text #N] プレースホルダーとしてエージェントに配信される |
エージェントが実際のコンテンツを読めなかった |
| ページ1以降の MCPサーバをページネーションするとリソース・テンプレート・プロンプトがドロップ | 大量MCPサーバ環境で2ページ目以降の情報が消失 |
CLAUDE_CODE_SUBAGENT_MODEL がagent teamがスポーンするチームメイトプロセスに適用されない |
サブエージェントモデル固定が効かなかった |
シェルスナップショット問題(_my_helper 等)は、zsh-autosuggestions のようなプラグインを使っているユーザーが踏みやすい地雷でした。
v2.1.148:Bashが全コマンドでexit 127を返す緊急hotfix
v2.1.148はv2.1.147で混入したリグレッションの単発hotfixです。一部ユーザー環境でBashツールがすべてのコマンドに対して終了コード127を返す症状が発生していました。
exit 127は通常「コマンドが見つからない」を意味するため、ls・cat・git などの基本コマンドすら動かなくなる致命的バグです。v2.1.147にアップデート直後にBashが空振りし始めた場合は、v2.1.148以降に即座に更新してください。
# 症状: v2.1.147 にアップグレード後、すべてのBashコマンドが失敗
$ claude -p "ls -la"
> Bash tool returned exit code 127 for: ls -la
# 修正: v2.1.148 以降で正常化
$ claude update
$ claude --version # 2.1.148+ を確認
リグレッションが1日で検出され、翌日hotfixが出るというリリースサイクルの速さは、Claude Codeのリリース体制が成熟していることの裏返しでもあります。
v2.1.146:UI微調整+バグ修正中心の小規模パッチ
v2.1.146は v2.1.145 と v2.1.147 の間に挟まれた小規模パッチです。新機能の追加はなく、UI微調整とエッジケースバグ修正が中心の構成でした。公式changelogでも v2.1.147 と v2.1.149 ほどの目立つ記載はありません。
v2.1.145 → v2.1.147 への中間段としての位置付けで、リリースされてすぐ v2.1.147 が出ているため、現実的には v2.1.146 のみを長期間動かすケースは少ないでしょう。v2.1.145からは直接 v2.1.147 以降に上げる運用が標準的です。
v2.1.150:ユーザー向け変更なし(内部インフラ改善のみ)
v2.1.150は公式changelogに「Internal infrastructure improvements」とだけ記載されており、ユーザー向けの変更はありません。
内部インフラ改善とは、典型的には次のような変更を指します。
- リリース署名・配布パイプラインの調整
- 依存ライブラリの更新
- ビルドツールチェーンの差し替え
- テレメトリ収集経路の最適化
ユーザー視点ではv2.1.149から v2.1.150 にアップデートしても挙動は変わりません。ただし、内部のセキュリティパッチが含まれている可能性はあるため、最新版を追うことには意味があります。
アップデート方法
ターミナルで以下のいずれかを実行します。
# Homebrewインストールの場合
brew upgrade claude-code
# claudeコマンドからの直接アップデート
claude update
# バージョン確認
claude --version # 2.1.150 以降を確認
WindowsでWinget経由インストールの場合は winget upgrade Anthropic.Claude を使います。Auto-updater(CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1)を有効にしているユーザーは、起動時にバックグラウンドで更新が走ります。v2.1.147 から auto-updater自体が改善されているため、これまで自動更新で失敗していた環境でも成功率が上がっているはずです。
実務での影響:誰がいま更新するべきか
| 利用パターン | 更新優先度 | 理由 |
|---|---|---|
| Windowsユーザー全般 | 最優先 | PowerShell cd.. 等の権限昇格バイパス修正(v2.1.149) |
| git worktree を日常的に使う | 高 | サンドボックス書き込みホワイトリスト絞り込み(v2.1.149) |
| 多数のSkill/Plugin/MCPを使っている | 高 | /usage カテゴリ別ブレイクダウンでコスト最適化が可能(v2.1.149) |
claude agents で常駐bgセッション運用 |
高 | ピン留め+in-place restartで更新時の空白時間が消える(v2.1.147) |
/simplify をリファクタリングで多用していた |
要対応 | /code-review に改称+動作変更、リファクタは通常対話で(v2.1.147) |
| Enterpriseでログイン制限ポリシー運用 | 高 | サードパーティ・APIキーセッションへの強制(v2.1.147) |
| v2.1.147 にアップデート後Bashが動かない | 緊急 | exit 127 リグレッションのhotfix(v2.1.148) |
| 軽く対話セッションだけで使う | 中 | GFMチェックボックス・/diffキーボード操作で読みやすさ改善 |
セキュリティFixの密度が高いリリース群なので、特にWindowsユーザーとgit worktree利用者は早めの更新が安全です。
まとめ:並列エージェント時代のコスト可視化と権限制御が整った
v2.1.146〜150を俯瞰すると、Claude Codeが「並列エージェントを常駐運用する前提」に振り切った結果、コスト可視化と権限制御の2つが急速に整備されたことが分かります。
/usageカテゴリ別ブレイクダウンは「何が重いか」を数値で可視化するコスト可視化レイヤー- PowerShell
cdバイパス修正と worktree サンドボックス絞り込みは、長時間常駐するbgセッションが踏みうる権限ホールを塞ぐ動き /code-review改称と auto-updater 改善は、Claude Code自身を継続的に運用するためのワークフロー整備
前回扱った v2.1.144〜145 では claude agents --json や OTEL 拡張で外から観測する手段が整いました。今回の v2.1.146〜150 では内側から自分のコスト構造を見る手段が整った形です。観測性と自己診断、両輪が揃ってきたと言えます。
Claude Code v2.1.140〜143|claude agentsフラグ大量追加・Fast ModeがOpus 4.7 で議論したように、Anthropic は claude agents をClaude Codeの第2の入口として育てています。今回の /usage カテゴリ別ブレイクダウンは、その第2の入口を運用最適化可能なものに変える重要な機能追加だと位置付けられます。
次回のv2.1.151以降では、/usage のデータをエクスポートしてダッシュボード化する仕組みや、コスト消費が大きいプラグイン/MCPを自動でwarmdown/disableする adaptive controlの方向に展開していく可能性があります。
参照ソース
- Claude Code Official Changelog — Anthropic公式changelog(v2.1.146〜v2.1.150)
- Claude Code GitHub Releases — Anthropic公式GitHubリリースノート
- Claude Code Agent View 公式ドキュメント —
claude agentsの公式リファレンス