Hook制御 · Subagents · Managed Agents · Routines
v2.1.260-261
/diff: フルスクリーンモードでdiffパネルに切り替え可能に(v2.1.260)。/cost・ステータスラインにprompt cacheミスの診断情報を追加。
/skill-doctor: 未使用スキル・コンテキストコストを診断する新コマンド。
セキュリティ🔒: 括弧を含むファイル権限ルールが無視される不具合、Bashがzshのコマンド置換を代入文の中で誤って自動承認していた不具合を修正。
v2.1.261(9/4)で/status・claude doctorに組織ポリシー読み込み失敗を説明する行、bashOutputMaxChars/taskOutputMaxChars設定を追加。詳細はニュース参照。
v2.1.259
managedMcpServers: 組織がHTTP/SSE MCPサーバーを配布できる管理者設定を追加。
--permission-prompts none: 無人ヘッドレスホスト向けに全確認プロンプトを抑制。
セキュリティ🔒: BashのRead() denyルールがコマンドのファイルオプション値(--file=等)をカバーしていなかった不具合を修正。
GitLabマージリクエスト(glab mr)を認識するように、claude plugin validateに--jsonフラグ追加。詳細はニュース参照。
v2.1.252-258
Containment Escapeルール🔒: クラウドメタデータ認証情報へのアクセスを遮断する新ルールを追加。
初回読み取り確認: 作業ディレクトリ外のファイルを初めて読み取る際に確認プロンプトを追加。
Claude Fable 5.1: 同日発表されたClaude Fable 5.1(Agentic Scientific Researchベンチマークが24.7%→52.6%に倍増、キャッシュ読み込み75%値下げ)が既定Fableモデルに設定。
macOS 12起動失敗の回帰も修正。詳細はニュース参照。
| スコープ | ファイル | 対象範囲 | Git管理 |
|---|---|---|---|
| Managed | MDM/Adminサーバ配信 | 組織全ユーザー | IT部門デプロイ |
| User | ~/.claude/settings.json | 自分・全プロジェクト | No |
| Project | .claude/settings.json | リポジトリ全員 | Yes |
| Local | .claude/settings.local.json | 自分・このリポジトリのみ | No (gitignore) |
優先順位(高い順): Managed → CLIオプション → Local → Project → User
| 機能 | User | Project | Local |
|---|---|---|---|
| Settings | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| Subagents | ~/.claude/agents/ | .claude/agents/ | — |
| MCP servers | ~/.claude.json | .mcp.json | — |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md | CLAUDE.local.md |
// .claude/settings.json { "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "./.claude/hooks/block-rm.sh" }] }], "PostToolUse": [{ "matcher": "Write", "hooks": [{ "type": "command", "command": "npm run lint --fix $CLAUDE_FILE_PATH" }] }], "Notification": [{ "hooks": [{ "type": "command", "command": "notify-send '$CLAUDE_MESSAGE'" }] }], "Stop": [{ "hooks": [{ "type": "command", "command": "./scripts/post-session.sh" }] }], "SubagentStop": [{ "hooks": [{ "type": "command", "command": "./scripts/aggregate-subagent.sh" }] }] }, "routines": [ { "schedule": "0 9 * * 1", "task": "毎週月曜朝: PRサマリーを作成しSlackへ通知" }, { "schedule": "0 8 * * *", "task": "毎朝: 未マージPRのコードレビューを自動実行" } ], "model": "claude-sonnet-4-6", "permissionMode": "default" }
CLAUDE.mdは「知識を書く場所」ではなく「どこを読むべきかを書く場所(Router)」として設計する。肥大化すると毎セッション全量ロードされコスト増・品質低下。
docs/ 配下に置きリンクする# CLAUDE.md (Router例)
## Commands
build: npm run build
test: npm test
lint: npx eslint .
## Architecture
- API層: /src/api/ (Express + Zod validation)
- DB: Prisma ORM (PostgreSQL)
→ 詳細: docs/architecture.md
## Knowledge Index
- docs/api-spec.md — API仕様
- .claude/skills/ — 繰り返しワークフロー
- tasks/current.md — 現在のタスク
## Constraints
- TypeScript strict mode必須
- テストなしのPRはマージ禁止
Claude Codeは複数のCLAUDE.mdを積み重ねてロードする。
~/.claude/CLAUDE.md # 個人グローバルルール /project/CLAUDE.md # プロジェクト全体 /project/src/CLAUDE.md # src/配下の特殊ルール /project/CLAUDE.local.md # 個人ローカル (gitignore)
深い階層のCLAUDE.mdは親を上書きではなく追記として機能する。サブパッケージごとに異なるコーディング規約を持つモノレポで特に有効。
✦ HooksはモデルのハルシネーションなしにAI動作へ介入できる唯一の決定論的メカニズム。--dangerously-skip-permissions下でも有効。
| イベント | タイミング | 典型的な使い方 |
|---|---|---|
PreToolUse | ツール実行前 | 危険コマンドブロック・承認フロー・変数注入 |
PostToolUse | ツール実行後 | 自動フォーマット・lint・AIへの結果置換 |
Notification | 通知イベント時(コンパクション含む) | Slack/メール転送・コンテキスト再注入 |
Stop | エージェント停止時 | 後処理・バリデーション・次タスク起動 |
SubagentStop | 子エージェント完了時 | 結果集約・検証・Managed Agents連携 |
MessageDisplay v2.1.152 | アシスタントメッセージ表示前 | 出力フィルタ・機密マスク・フォーマット変換・非表示 |
Skill・CLAUDE.mdフロントマターでもHooksを定義でき、そのコンポーネントのライフサイクルにスコープされる。複数ファイルからマッチしたHooksは全て実行。
// .claude/hooks/block-rm.sh (PreToolUse)
#!/bin/bash
CMD="$CLAUDE_TOOL_INPUT"
if echo "$CMD" | grep -qE 'rm\s+-rf|DROP TABLE|DELETE FROM'; then
echo '{"decision":"block","reason":"危険なコマンドをブロックしました"}'
exit 0
fi
echo '{"decision":"approve"}'
// PostToolUse: updatedToolOutput で結果を置換 (v2.1.141+) { "hookSpecificOutput": { "updatedToolOutput": "[lint済み出力をここに]" }, "terminalSequence": "]9;PostToolUse完了" }
アシスタントの応答テキストをユーザーへ表示する前に変形・フィルタできるHook。機密情報の自動マスクやフォーマット統一に使う。
// .claude/settings.json { "hooks": { "MessageDisplay": [{ "hooks": [{ "type": "command", "command": "./.claude/hooks/filter-output.sh" }] }] } }
hookSpecificOutput.updatedMessage で変換後テキストを返す。空文字を返すとメッセージを非表示にできる。
Stop Hookが連続8回ブロックし続ける場合、警告付きでターンが自動終了する。以前は無限ループになり得た。
CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=NHook JSON出力にterminalSequenceフィールドが追加。コンテナやCI等ターミナルを持たない環境でも、デスクトップ通知・ウィンドウタイトル変更・ベル音をHookから発火できる。
{
"terminalSequence": "]9;Task completed",
"hookSpecificOutput": { "updatedToolOutput": "..." }
}
# .claude/agents/security-reviewer.md
---
name: security-reviewer
description: Reviews code for security issues. Use after code changes.
model: opus
tools: Read, Glob, Grep
isolation: worktree
color: red
---
You are a senior security reviewer.
Focus on: injection attacks, auth bypasses, secrets exposure.
Provide specific, actionable findings only.
~/.claude/agents/ / プロジェクト共有: .claude/agents/isolation: worktreeで独立したgit worktreeで動作、並列エージェントが競合なしに編集可最大の生産性向上は3〜5セッションを並列でそれぞれのgit worktreeで動かすこと。
# worktreeの作成 git worktree add ../project-feature-a feature-a git worktree add ../project-feature-b feature-b # 大規模バッチ変更のプロンプト例 "Migrate all sync IO to async. Launch 10 parallel agents with worktree isolation. Each agent tests its changes end-to-end, then opens a PR."
ベストプラクティス: 1サブエージェント1専門領域。単純タスクにはHaiku、複雑な分析にはSonnet。独立した作業は並列実行。
claude agents内でCtrl+Tでセッションをピン留めすると、アイドル時も生き続ける。
| 要素 | 実行場所 | いつ使う |
|---|---|---|
| CLAUDE.md | 毎セッション常時ロード | 変わらない静的なプロジェクト情報 |
| Skills | 現在のコンテキスト内(呼び出し時のみ) | 繰り返す手順・ワークフロー |
| Subagents | 独立したコンテキストウィンドウ | コンテキスト汚染を避けたい調査・並列作業 |
CLAUDE.mdが手順書のように膨らんできたら、その手順はSkillに切り出すサイン。Subagentsはコンテキスト分離が目的で「失敗したアプローチの蓄積汚染」を構造的に防ぐ。
.claude/skills/
api-conventions/
SKILL.md # 必須
examples.md # オプション
--- SKILL.md フロントマター --- name: api-conventions description: API design conventions. Applies in API/endpoint/REST contexts. disable-model-invocation: true # 副作用あるSkillに必須 context: fork # サブエージェントとして実行 allowed-tools: Bash(git add *) Bash(git commit *) disallowed-tools: WebFetch WebSearch # このスキル中に使えないツール (v2.1.152+) hooks: PreToolUse: - matcher: "Bash" hooks: - type: command command: "./scripts/security-check.sh" ---
disable-model-invocation: trueがない場合、Claudeが状況を判断して自動発火する。デプロイや外部送信などの副作用があるSkillには必須。disallowed-toolsでそのスキル実行中に禁止するツールを指定できる(v2.1.152+)。
/reload-skills(v2.1.152+): スキルディレクトリを再スキャン。プロセス再起動なしに変更を反映できる。SessionStart Hookから reloadSkills: true を返すことでも自動再スキャン可能。
claude.com/form/claude-managed-agents からリクエスト(Research Preview段階)。API利用は managed-agents-2026-04-01 betaヘッダー。
過去セッションを定期レビューしてパターン抽出・記憶ストアを精製するスケジュールプロセス。
成功の評価基準ルーブリックを定義すると、独立したコンテキストの別グレーダーが評価して再実行させるループ。
リードエージェントがタスクを分解し、独自モデル・プロンプト・ツールを持つ最大20人のスペシャリストに委任。
managed-agents-2026-04-01 betaヘッダーで利用可核心的示唆: 3機能(Dreaming / Outcomes / Multiagent)は独立していない。OutcomesはイベントHistoryが必要。Multiagent OrchestraionはSubagentStopフックと組み合わせて使うと最も強力。
// .claude/settings.json { "routines": [ { "schedule": "0 9 * * 1", // 毎週月曜 9:00 "task": "PRサマリーを作成してSlackに通知" }, { "schedule": "0 8 * * *", // 毎朝 8:00 "task": "未マージPRのコードレビューを実行" }, { "schedule": "0 18 * * 5", // 毎週金曜 18:00 "task": "週次ドキュメント自動更新" } ] }
| ツール | スケジュール機能 | 状況 |
|---|---|---|
| Claude Code | Routines(cron式) | ✔ GA |
| OpenAI Codex | Automations(cron + webhook) | ✔ GA(App限定) |
| Kiro CLI | なし | ✘ 代替: 外部cron |
| Antigravity | 実験的スケジューリング | △ 実験的 |
allowManagedMcpServersOnly/deniedMcpServers設定が無視される不具合・組織がSkillsを無効化しても同期済みスキルが使い続けられる不具合をまとめて修正(🔒)。メモリ使用量が危険域に達した際の警告表示・MCP起動待機時間を設定するCLAUDE_CODE_MCP_STARTUP_WAIT_MS・LLMゲートウェイ向けリクエストヘッダーを追加。詳細はニュース参照。
allowed_domainsを追加(🔒)。クラウド/セルフホストランナーのRemoteセッションでfast mode対応。エージェントfrontmatterにomitClaudeMd(CLAUDE.md読み込み無効化)を追加。claude plugin install/updateに--accept-command <sha256>を追加。詳細はニュース参照。
claude plugin eval(JSON+HTMLレポート)を追加。出力スタイルの一覧・切替/output-style [name]を追加(Remote Control・ヘッドレスセッションでも利用可)。Bashツール結果にコマンドが変更したファイルのdiffを追加。並行サブエージェント数を制限するCLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS(1〜256)を追加。ゲートウェイにpricing:設定・claude self-hosted-runner --remove-session-stateを追加。WebFetchが無期限にハングする不具合(300秒でタイムアウトするよう修正)・長時間セッションでの高CPU使用率・MCPサーバーのOAuthサインイン失敗を修正。詳細はニュース参照。
maxEffortLevel設定(全プロバイダー共通でeffort上限を指定)・--plugin-dirのフォルダ一括ロード対応・--system-prompt-snapshot offを追加。v2.1.266は、v2.1.265で混入したCLAUDE_CODE_USE_GATEWAY回帰(APIキー併用構成でゲートウェイサインインを強制し全リクエスト失敗)を即日緊急修正。詳細はニュース参照。
/diffで切り替え可能なdiffパネルを追加。未使用スキル・コンテキストコストを診断する新コマンド/skill-doctor、bashOutputMaxChars/taskOutputMaxChars設定(最大128K文字)を追加。括弧を含むファイル権限ルールが無視される不具合・Bashがzshのコマンド置換を代入文の中で誤って自動承認していた不具合を修正(🔒)。v2.1.263(9/6)は安定性改善のみ。詳細はニュース参照。
managedMcpServersを追加。無人ヘッドレスホスト向けに全確認プロンプトを抑制する--permission-prompts noneを追加。GitLabマージリクエスト(glab mr)を認識。BashのRead() denyルールがファイルオプション値(--file=等)をカバーしていなかった不具合を修正(🔒)。同時実行セッションが互いの~/.claude.jsonを上書きし合う不具合・OAuthリフレッシュ時のprompt cache無効化も修正。詳細はニュース参照。
.git/configのcore.fsmonitorを悪用し、git status等のコンテキスト収集コマンド実行だけで任意コード実行を許してしまう脆弱性がgoose・Claude Code・Codex等7ツールで公表(Manifold Security)。goose・Claude Code・Cursorは修正済みだが、Claude Codeの別経路(2つ目の攻撃パス)は2026-09-01時点で未修正。.git付きでzip等から受け取ったリポジトリの.git/configは開く前に確認を推奨。詳細はニュース参照。
/effortのsオプション(セッション限定変更)・CLAUDE_CODE_SUBAGENT_MODEL_FORCE環境変数を追加。プラグインマーケットプレイスのハードニング。v2.1.258でmacOS 12起動失敗の回帰・remote/scheduledセッションの権限承認エラーを修正。詳細はニュース参照。
PreModelSwitch/PostModelSwitchhookイベントを追加。foregroundサブエージェントのツール呼び出しをRemote Controlへライブストリーミング。/usageにspend limitバー・/costにセッション単位のprompt cache行を追加。ファイルツール(Read/Write/Edit)がsymlinkを辿り承認範囲外を読み書きできる不具合・plugin commandsのpath-traversal・Grep/Globがsymlink経由でRead denyルールを適用しない不具合をまとめて修正(🔒)。seat-based Enterpriseの既定モデルをOpus 5に変更。v2.1.250は安定性改善のみ。詳細はニュース参照。
--restrictedフラグ(コマンド/コード実行ツールとWebFetchを除去、user/project/local設定を無視、bypassPermissions拒否)を追加。agent frontmatterにexperimental.cacheTtl("5m"/"1h")でサブエージェント単位のprompt cache TTLを設定可能に。SendFeedbackツール・/claude-api cost-optimize・/permissionsのAuto modeタブを追加。長時間セッションでの約1時間ごとのprompt cacheミスを修正。詳細はニュース参照。
headersHelperがプロジェクト.mcp.json/plugin/agentファイル経由の場合はフォルダのtrust dialog承認を必須化し、資格情報env varを継承せず実行されるように変更(🔒)。keybindingFlavor設定・self-hosted-runnerの--defer-shutdown-max-min/--proxy-authorization-commandを追加。data residencyワークスペースの推論コストに1.1倍プレミアムを反映、Python版anthropicライブラリ移行用/claude-api upgrade追加。詳細はニュース参照。
ANTHROPIC_DEFAULT_MODEL環境変数を追加。SendMessageにnotify_when_idleを追加し、別セッションがアイドルになった際に1回だけ通知可能に。macOSサンドボックスのワイルドカードread-denyルールが許可済みread領域内でも優先されリネームでも回避不可に(🔒)。前置きを省き結果を先に示す組み込み出力スタイル「Concise」を追加(/config > Output style)。詳細はニュース参照。
TaskCreate/TaskGet/TaskUpdate/TaskList・TodoWriteツールを非推奨化。WindowsのNT-namespace(\??\)パスをファイル操作から拒否するセキュリティ強化(🔒)。組み込みclaude-apiスキルのコンテキストコストを約200k→25kトークンに削減。プロンプト入力にspellcheck設定を追加。詳細はニュース参照。
fork(会話全体とプロンプトキャッシュ引き継ぎ)が既定オンに、対話セッションでの非teammateエージェント起動は既定でバックグラウンド実行に(⚠️挙動変化)。PowerShellの$PSDefaultParameterValues上書きバイパス・Windows Git BashのCygwin symlink権限バイパス・ネストgitリポジトリの信頼継承不具合を修正。GitLabトークンのシークレットマスキングとプラグインマーケットプレイスのGitLab対応を追加。詳細はニュース参照。
/commit-push-prが実行するgit/ghコマンドのうち--force・--amend・--no-verify等の危険なフラグを含むものを自動承認しなくなった。プラグインマーケットプレイスにローカルcommandソースを追加(IDE等が出力したプラグインディレクトリをセッションごとに再解決)。セルフホステッドランナーがマネージド環境同様のサーバー提供Hookに対応。詳細はニュース参照。
!コマンド実行/@ファイル展開を無効化。v2.1.226は安定性改善のみ。詳細はニュース参照。
claude agents実行に信頼していないディレクトリへのワークスペース信頼プロンプトを追加(claude本体と同挙動に統一)。長期間有効なCLAUDE_CODE_OAUTH_TOKENが短命トークンに置き換わりヘッドレスセッションが401で壊れる不具合・macOS keychainタイムアウト後のMCP OAuth断続401エラーを修正。v2.1.226は安定性改善のみ。詳細はニュース参照。
claude self-hosted-runnerコマンド追加(自前マシン/コンテナでセッション実行、Team/Enterprise向け)。zipアーカイブからHTTPS経由でプラグインをインストールできるArchive plugin sourceを追加(SHA-256ピン留め対応)。SendMessage/ListAgentsでセッション間メッセージングに対応(macOS/Linux)。長時間セッションのサブエージェント生成数200件の上限を撤廃。サンドボックス認証情報マスキングにJWT対応decode:"jwt"・AWS SigV4再署名を追加。詳細はニュース参照。
.claude/settings.jsonにHookを仕込み、開発者が新セッションを開始した瞬間に悪性スクリプトを実行。AIツール関連認証情報のほかクラウド・GitHub・SSH等の認証情報も標的。信頼できないリポジトリを開く際はSessionStart Hookの定義を確認すること。詳細はニュース参照。
import()によるサンドボックス脱出・エージェントbypassPermissionsが組織ポリシーを無視する問題をまとめて修正。/reviewが/code-reviewのエイリアスに変更(/code-review ultraで深いレビュー)。CLAUDE_CODE_DISABLE_1M_CONTEXT・auto-compactの挙動も変更(⚠️挙動変化)。詳細はニュース参照。
/configから)。ultraplan機能を廃止。詳細はニュース参照。
[[ ]]内で隠しコマンドが権限チェックを回避して実行できる脆弱性を修正。VSCode拡張にFocus view(Ctrl+Alt+F)を追加(ツール実行ログを折りたたみ要約表示)。Linux/WSLサンドボックス認証情報ファイルにmode: "mask"を追加。バックグラウンドセッションがCLAUDE.mdのgit方針に従いcommit/pushするよう変更。/forkが新しいworktreeを作成するように変更。詳細はニュース参照。
sandbox.network.strictAllowlist設定追加。サブエージェントのネスト生成が最大深さ3まで既定で可能に(CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1で無効化可)。workflowSizeGuideline設定でDynamic Workflowのサイズ目安を指定可能に。詳細はニュース参照。
/code-reviewがバックグラウンドサブエージェント実行に変更(会話を占有しない)。信頼されていないフォルダのagent frontmatter hookが実行される不具合を修正(エージェントファイルのフォルダのworkspace trustを要求)。skillのcontext: fork指定はデフォルトでバックグラウンド実行に(background: falseでオプトアウト可)。詳細はニュース参照。
sandbox.filesystem.disabled設定を追加(ネットワーク制御は維持しファイルシステム隔離だけ無効化可能)。worktree分離サブエージェントがgit -C等で共有チェックアウトを操作できる不具合、.claudeへのsymlink経由でworkflow保存が対象外に書き込める不具合、/rewindがsymlink/hard link経由で意図しないパスを操作する不具合などを修正。詳細はニュース参照。
/verify・/code-reviewを自動実行する挙動を廃止。以後は明示的にコマンドを呼び出したときだけ実行される(⚠️挙動変化)。詳細はニュース参照。
dir/** allowルール(例:Edit(src/**))がツリー内どこでも同名ディレクトリに誤適用される不具合、Windows PowerShell 5.1での権限チェックバイパス、10,000文字超コマンドの誤判定など権限チェック関連の修正多数(⚠️挙動変化)。虐待的入力に対しClaude自身がセッションを終了できるEndConversationツールを追加。詳細はニュース参照。
/forkはバックグラウンドセッションへのコピーに変更(旧来のインセッションsubagent起動は/subtaskに分離、⚠️挙動変化)。WebSearch呼び出し数・subagent生成数にセッション単位の上限を追加。詳細はニュース参照。
ask 判定を上書きしてしまうバグを修正。「常に許可」の保存先が worktree 単位からリポジトリルート単位に変更(⚠️挙動変化)。詳細はニュース参照。
isolation: 'worktree' サブエージェントがメインリポジトリに git 変更コマンドを実行できてしまうバグを修正。