はじめに
Anthropicは2026年5月にClaude Code v2.1.126からv2.1.136にかけて、複数の実用的な新機能をリリースしました。この記事では、エンジニアが日々の開発で活用できる主要7機能を公式ChangeLogをもとに解説します。
この記事で解説する機能
-
--plugin-url/--plugin-dir: ZIPアーカイブによるプラグイン配布 -
claude project purge: プロジェクト状態の完全削除 - Hooks の effort level 受信:
effort.levelと$CLAUDE_EFFORT -
settings.autoMode.hard_deny: Auto モードの完全ブロックルール -
CLAUDE_CODE_SESSION_ID: Bash サブプロセスとの連携 -
worktree.baseRef: ワークツリー分岐元の制御 -
claude auth loginのターミナルOAuth対応
対象読者
- Claude Code をチームや CI/CD で活用しているエンジニア
- プラグイン配布や Hooks 自動化の仕組みを整備したい方
- Auto モードの権限制御を強化したい方
前提環境
- Claude Code: v2.1.129 以降
- Node.js: v20.x 以降
- Claude Pro / Max / Team / Enterprise プランのいずれか
TL;DR
-
--plugin-url <url>で URL 指定の ZIP プラグインをセッションに読み込める(v2.1.129) -
claude project purgeでトランスクリプト・タスク・ファイル履歴を一括削除できる(v2.1.126) -
Hooks が
effort.levelフィールドと$CLAUDE_EFFORT変数でエフォートレベルを受信できるようになった(v2.1.133) -
settings.autoMode.hard_denyで例外なくアクションを完全ブロックできる(v2.1.136) -
CLAUDE_CODE_SESSION_IDが Bash ツールのサブプロセスにも自動で渡る(v2.1.132)
1. プラグインのZIP配布 — --plugin-url と --plugin-dir
背景
これまでプラグインはディレクトリ形式での配布が前提でした。v2.1.128 と v2.1.129 の2段階のアップデートで、ZIP アーカイブ形式の配布が標準サポートされました。
v2.1.128: --plugin-dir の ZIP 対応
--plugin-dir フラグがディレクトリだけでなく .zip ファイルを直接受け取れるようになりました。
# ディレクトリ指定(従来)
claude --plugin-dir ./my-plugin
# ZIPアーカイブ指定(v2.1.128以降)
claude --plugin-dir ./my-plugin.zip
v2.1.129: --plugin-url による URL 配布
カレントセッション限定で、URL 指定の ZIP プラグインを読み込む --plugin-url フラグが追加されました。
# URLからプラグインを取得してセッションに適用
claude --plugin-url https://example.com/my-team-plugin.zip
チームで共有するプラグインを社内サーバーや CDN に置いておけば、メンバーがローカルにダウンロードする手間なく統一設定を配布できます。
プラグインマニフェストの変更点
v2.1.129 から、プラグインマニフェスト内の themes と monitors フィールドは experimental 以下に移動しました。既存のプラグインを使っている場合はマニフェスト形式を確認してください(公式ドキュメント: Claude Code Plugin Manifest)。
{
"name": "my-plugin",
"version": "1.0.0",
"experimental": {
"themes": [],
"monitors": []
}
}
2. claude project purge — プロジェクト状態の完全削除(v2.1.126)
何が削除されるか
claude project purge コマンドは、プロジェクト単位で Claude Code が蓄積した以下のデータを削除します。
| 削除対象 | 内容 |
|---|---|
| トランスクリプト | セッションの会話履歴 |
| タスク | 実行済み・未完了のタスク情報 |
| ファイル履歴 | 操作したファイルの変更履歴 |
| 設定エントリ | プロジェクト固有の設定キャッシュ |
基本的な使い方
# カレントディレクトリのプロジェクトを削除
claude project purge
# 指定パスのプロジェクトを削除
claude project purge /path/to/project
# 確認なしで削除(CI/CDなど自動化環境向け)
claude project purge --yes
# 削除対象を確認だけする(ドライラン)
claude project purge --dry-run
# 対話的に削除するファイルを選択
claude project purge --interactive
# 全プロジェクトを削除
claude project purge --all
活用シナリオ
開発環境のリセット: 大きなリファクタリング後や別機能の着手前に、古いコンテキストをクリアしてクリーンな状態で再開できます。
セキュリティ要件への対応: 機密プロジェクトのトランスクリプトを定期的に削除するポリシーを CI/CD に組み込めます。
# CIパイプラインの後処理例
claude project purge --yes --all
3. Hooks の effort level 受信(v2.1.133)
effortレベルとは
Claude Code の effort レベル(low / medium / high / xhigh / max)は、Claude がタスクにどれだけのリソースと思考時間を使うかを制御します。/effort コマンドまたは起動フラグで設定できます。
# effortレベルを設定して起動
claude --effort high
# 対話中に変更
/effort xhigh
Hooks での受信方法
v2.1.133 以降、Hooks スクリプトは現在のエフォートレベルを2つの方法で受け取れます。
1. JSONフィールド effort.level(PreToolUse / PostToolUse など)
{
"tool_name": "Bash",
"tool_input": { "command": "npm test" },
"effort": {
"level": "high"
}
}
2. 環境変数 $CLAUDE_EFFORT(Bashツールのサブプロセス内でも利用可能)
# Hookスクリプト内での使用例
#!/bin/bash
echo "Current effort: $CLAUDE_EFFORT"
if [ "$CLAUDE_EFFORT" = "max" ]; then
echo "最大エフォートで実行中 — 詳細ログを有効化"
export VERBOSE_LOG=1
fi
活用例: エフォートに応じてテストの深さを変える
import json
import sys
import os
hook_input = json.load(sys.stdin)
effort = hook_input.get("effort", {}).get("level", "medium")
# effortがhigh以上ならintegrationテストも実行
if effort in ("high", "xhigh", "max"):
print(json.dumps({
"decision": "approve",
"reason": f"effort={effort}: integration tests enabled"
}))
else:
print(json.dumps({
"decision": "approve",
"reason": f"effort={effort}: unit tests only"
}))
4. settings.autoMode.hard_deny — 無条件ブロックルール(v2.1.136)
Auto モードの制御体系
Claude Code の Auto モード(--auto フラグ)では、設定ファイルで許可・拒否のルールを定義できます。v2.1.136 以前の deny ルールは、ユーザーの意図やより優先度の高い allow ルールで上書きできました。
hard_deny はこの上書き機構をバイパスし、例外なく常にブロックします。
設定方法
.claude/settings.json に以下を追加します。
{
"autoMode": {
"hard_deny": [
{
"tool": "Bash",
"pattern": "rm -rf /*"
},
{
"tool": "Write",
"path_pattern": "/etc/*"
},
{
"tool": "Bash",
"pattern": "git push --force"
}
]
}
}
deny との違い
| 設定 |
allowルールで上書き可能 |
ユーザー承認で上書き可能 |
|---|---|---|
deny |
△ (高優先度allowで上書き可) |
○ |
hard_deny |
✗ | ✗ |
hard_deny は「絶対に自動実行してはいけないアクション」に使用します。例えば、本番DBへの直接書き込みや、秘密鍵ファイルへのアクセスなどが該当します。
5. CLAUDE_CODE_SESSION_ID — Bash サブプロセス連携(v2.1.132)
v2.1.132 以降、Claude Code が Bash ツールを実行する際、すべてのサブプロセスに CLAUDE_CODE_SESSION_ID 環境変数が自動で設定されます。
# Bashツール内でセッションIDを取得
echo "Session: $CLAUDE_CODE_SESSION_ID"
# 例: Session: sess_01XYZ...
活用例
ログの紐付け: 実行ログにセッションIDを付与することで、後からどのセッションが何を実行したかを追跡できます。
#!/bin/bash
# deploy.sh
echo "[${CLAUDE_CODE_SESSION_ID}] デプロイ開始: $(date)" >> /var/log/claude-deploy.log
# ... デプロイ処理
echo "[${CLAUDE_CODE_SESSION_ID}] デプロイ完了: $(date)" >> /var/log/claude-deploy.log
外部サービスとの連携: Webhookやモニタリングサービスにセッション情報を送信する際のトレーサビリティが向上します。
# セッション情報を外部APIに通知(Hooks から呼び出す例)
curl -X POST https://monitoring.example.com/events \
-H "Content-Type: application/json" \
-d "{\"session_id\": \"$CLAUDE_CODE_SESSION_ID\", \"event\": \"task_start\"}"
6. worktree.baseRef — ワークツリー分岐元の制御(v2.1.133)
Claude Code の EnterWorktree 機能でワークツリーを作成する際の分岐元を制御する設定です。
設定値
.claude/settings.json に追加します。
{
"worktree": {
"baseRef": "fresh"
}
}
| 値 | 挙動 |
|---|---|
fresh(デフォルト) |
origin/<デフォルトブランチ> から分岐(最新のリモートを反映) |
head |
ローカルの現在の HEAD から分岐(ローカル未コミット変更を含む) |
fresh の推奨シナリオ: CI/CD やレビュー用のクリーンなブランチが必要な場合。
head の推奨シナリオ: ローカルで進めている変更を土台に別機能の実装を並行して始めたい場合。
7. claude auth login のターミナルOAuth対応(v2.1.126)
WSL2・SSH・コンテナなどブラウザコールバックが localhost に届かない環境での認証が改善されました。
claude auth login
# ブラウザで認証後、表示されたコードをターミナルに貼り付け
# Enter the authorization code: [ここにコードをペースト]
以前はブラウザのコールバック URI が localhost を指すため、WSL2 やリモートサーバー上ではブラウザ認証が完了できないケースがありました。v2.1.126 以降は認証コードをターミナルに直接入力できます。
その他の改善点
セキュリティ修正(v2.1.126)
allowManagedDomainsOnly および allowManagedReadPathsOnly 設定が、優先度の高い設定ソースに sandbox ブロックがない場合でも正常に適用されるようになりました。この設定を使用している場合は早めにアップデートを推奨します。
MCP 改善(v2.1.128)
-
/mcpコマンドが各サーバーのツール数を表示 - ツール数ゼロのサーバーをフラグ表示(設定ミスを即座に検出可能)
-
workspaceが予約済みサーバー名として登録(競合防止)
パフォーマンス(v2.1.133)
サブエージェントの進捗サマリーでプロンプトキャッシュを活用するようになり、cache_creation_tokens が大幅に削減されました。マルチエージェント構成でのコスト最適化に直結します。
まとめ
Claude Code v2.1.126-136 のアップデートを整理します。
| バージョン | 主要機能 |
|---|---|
| v2.1.126 |
claude project purge、OAuth ターミナル認証、セキュリティ修正 |
| v2.1.128 |
--plugin-dir ZIP対応、/mcp ツール数表示 |
| v2.1.129 |
--plugin-url URL配布、CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE
|
| v2.1.132 |
CLAUDE_CODE_SESSION_ID、CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN
|
| v2.1.133 |
worktree.baseRef、Hooks の effort.level 受信、キャッシュ最適化 |
| v2.1.136 |
settings.autoMode.hard_deny、MCP /clear 後消失バグ修正 |
特に --plugin-url によるプラグイン配布の標準化 と Hooks の effort level 受信 は、チーム規模での Claude Code 活用において設定の一元管理と自動化ルールの精緻化を大きく前進させる機能です。
公式ChangeLogを定期的に確認して、最新機能をワークフローに取り込んでいきましょう。
参考リンク
- Claude Code CHANGELOG.md — 全バージョンの変更履歴
- Claude Code Plugin Docs — プラグインマニフェスト仕様
- Claude Code Hooks — Hooks 設定ガイド
- Effort levels — Claude API Docs — エフォートレベル詳細
- v2.1.126 Release Notes — v2.1.126 リリースノート

