agent:~/.claude$ cat agent-architecture.md

エージェントアーキテクチャ:AIを活用した開発ハーネスの構築

# 本番環境向けのAIエージェントハーネスを構築するための包括的なシステムです。スキル、フック、メモリ、サブエージェントに加え、エージェントの信頼性を高めるオーケストレーションパターンを解説します。

author: words: 7415 read_time: 158m updated: 2026-08-18 19:53

Part 2 of Agentic Engineering

$ less agent-architecture.md

TL;DR: Claude Code は、ファイルにアクセスできるチャットボックスではありません。これは、31の文書化されたライフサイクルイベントを備えたプログラム可能なランタイムであり、各イベントにはモデルがスキップできないシェルスクリプトをフックできます。hooks を dispatcher に、dispatcher を skills に、skills を agents に、agents を workflows に積み重ねると、制約の適用、作業の委譲、セッションをまたぐメモリの永続化、マルチエージェントの熟議のオーケストレーションを行う自律的な開発 harness が得られます。Claude Code の動的 workflows(v2.1.154+)により、決定論的なマルチエージェント・オーケストレーションがファーストパーティのプリミティブになりました。/workflows を通じて数十から数百のバックグラウンド agents を実行できます。さらに、プラットフォームでは現在、subagents がデフォルトでバックグラウンド実行され(同時実行20、ネスト深度3)、セッション同士をピアとしてメッセージングでき(v2.1.224)、セルフホスト runner 上でクラウドセッションを実行できます。正しさを担保するのは、引き続き Hooks と evidence gates です。525387 このガイドでは、そのスタックのすべての層を扱います。単一の hook から10-agent consensus system まで。フレームワークは不要です。すべて bash と JSON だけで構成されています。

Andrej Karpathy は、LLM agent の周囲で育つものを表す言葉を作りました。claws です。agent がコンテキストウィンドウの外にある世界をつかめるようにする hooks、scripts、オーケストレーションを指します。1 ほとんどの開発者は、AI コーディングエージェントを対話型アシスタントとして扱います。プロンプトを入力し、ファイルを編集する様子を見て、次へ進みます。その捉え方では、生産性は個人で監督できる範囲に制限されます。

インフラストラクチャとしてのメンタルモデルは異なります。AI コーディングエージェントは、LLM kernel を備えたプログラム可能なランタイムです。モデルが行うすべてのアクションは、自分で制御する hooks を通過します。プロンプトではなく、ポリシーを定義します。モデルは、Web サーバーが nginx rules の中で動作するのと同じように、インフラストラクチャの中で動作します。nginx の前に座ってリクエストを入力することはありません。設定し、デプロイし、監視します。

この違いは重要です。bash commands 内の認証情報をブロックする hook は、あらゆるセッション、あらゆる agent、あらゆる自律実行を保護します。評価基準をエンコードした skill は、自分が呼び出す場合でも agent が呼び出す場合でも、一貫して適用されます。セキュリティのためにコードをレビューする agent は、見ているかどうかにかかわらず同じチェックを実行します。2


重要なポイント

  • Hooks は実行を保証しますが、プロンプトは保証しません。 linting、formatting、security checks、およびモデルの動作にかかわらず毎回実行しなければならないものには hooks を使用してください。終了コード 2 はアクションをブロックします。終了コード 1 は警告するだけです。3
  • Skills は自動で有効化されるドメイン専門知識をエンコードします。 description フィールドがすべてを決定します。Claude は、キーワードマッチングではなく LLM reasoning を用いて、skill を適用するタイミングを判断します。4
  • Subagents はコンテキストの肥大化を防ぎます。 探索と分析のために分離されたコンテキストウィンドウを使うことで、メインセッションを軽量に保てます。独立した subagents は並列に実行し、worker に継続的な連携が必要な場合は agent teams を使用してください。5
  • Memory はファイルシステムに存在します。 ファイルはコンテキストウィンドウをまたいで永続します。CLAUDE.md、MEMORY.md、rules directories、handoff documents が、構造化された外部メモリシステムを形成します。6
  • マルチエージェントの熟議は見落としを捉えます。 単一の agent は、自身の前提に異議を唱えられません。評価の優先順位が異なる2つの独立した agents なら、quality gates では対処できない構造的な不具合を見つけられます。7
  • harness pattern こそがシステムです。 CLAUDE.md、hooks、skills、agents、memory は独立した機能ではありません。これらは、ユーザーとモデルの間に位置し、自動化とともにスケールする決定論的なレイヤーを構成します。

このガイドの使い方

経験 まず読む 次に読む
Claude Code を毎日使っており、さらに活用したい Harness Pattern Skills System, Hook Architecture
自律的な workflows を構築している Subagent Patterns Multi-Agent Orchestration, Production Patterns
agent architecture を評価している Why Agent Architecture Matters Decision Framework, Security Considerations
チーム向け harness をセットアップしている CLAUDE.md Design Hook Architecture, Quick Reference Card

各セクションは前のセクションを土台にしています。最後にある Decision Framework には、問題の種類ごとに適切な仕組みを選ぶための参照表があります。

5分間のゴールデンパス

詳細に入る前に、ゼロから動作する__TERM_1__を構築する最短の道のりをご紹介します。1つのhook、1つのskill、1つのsubagent、そして1つの成果。

ステップ1:セキュリティhookの作成(2分)

.claude/hooks/block-secrets.shを作成します。

#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
if echo "$CMD" | grep -qEi '(AKIA|sk-|ghp_|password=)'; then
    echo "BLOCKED: Potential secret in command" >&2
    exit 2
fi

.claude/settings.jsonで配線します。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": ".claude/hooks/block-secrets.sh" }]
      }
    ]
  }
}

結果: Claudeが実行するすべてのbashコマンドが、漏洩した認証情報についてスクリーニングされるようになります。モデルはこのチェックをスキップできません。

ステップ2:コードレビューskillの作成(1分)

.claude/skills/reviewer/SKILL.mdをフロントマター(name: reviewerdescription: Review code for security issues, bugs, and quality problems. Use when examining changes, reviewing PRs, or auditing code.allowed-tools: Read, Grep, Glob)とチェックリスト(SQLインジェクション、XSS、ハードコードされたシークレット、エラーハンドリングの欠如、50行を超える関数)とともに作成します。

結果: review、check、auditについて言及するたびに、Claudeがこの専門知識を自動的に有効化します。

ステップ3:subagentの生成(30秒)

任意のClaude Codeセッションで、別のエージェントを使って直近の3つのコミットをセキュリティ問題についてレビューするようClaudeに依頼します。ClaudeはExploreエージェントを生成し、差分を読み、レビューskillを適用し、サマリーを返します。メインコンテキストはクリーンに保たれます。

これで手に入るもの

3層の__TERM_1__です。決定論的なセキュリティゲート(hook)、自動的に有効化されるドメイン専門知識(skill)、そしてコンテキストを保護する隔離された分析(subagent)。以下の各セクションでは、この3層のいずれかを掘り下げていきます。


なぜAgent Architectureが重要なのか

Simon Willisonは現在の状況を1つの観察で捉えています。コードを書くことは今や安価になったのです。8 そのとおりです。しかし、その裏返しとして、検証こそが高価な作業となりました。検証インフラのない安価なコードは、バグを大量生産します。投資の見返りをもたらすのは、より良いプロンプトではありません。モデルが見逃すものを捕捉する、モデルを取り巻くシステムなのです。

Agent Architectureを必要とする3つの力があります。

コンテキストウィンドウは有限かつ劣化する。 ファイル読み込み、ツール出力、会話のターンはすべてトークンを消費します。Microsoft ResearchとSalesforceは15種類のLLMを20万件以上のシミュレーション会話でテストし、シングルターンからマルチターンへの移行で平均39%の性能低下を確認しました。9 劣化はわずか2ターンで始まり、予測可能な曲線をたどります。最初の30分で正確だった複数ファイル編集が、90分後には単一ファイルへの視野狭窄へと退化していくのです。コンテキストウィンドウが長くなってもこの問題は解決しません。同じ研究の「Concat」条件(会話全体を1つのプロンプトとして扱う)では、同一内容でシングルターンの95.1%の性能を達成しました。劣化はトークン制限ではなく、ターンの境界から生じているのです。

モデルの挙動は確率的であり、決定論的ではない。 「ファイル編集後は必ずPrettierを実行する」とClaudeに指示しても、およそ80%の確率でしか機能しません。3 モデルは忘れるかもしれないし、速度を優先するかもしれないし、変更が「小さすぎる」と判断するかもしれません。コンプライアンス、セキュリティ、チーム標準において、80%は許容できません。hookは実行を保証します。EditやWriteが起きるたびにフォーマッタが起動し、例外はありません。決定論は確率論に勝るのです。

単一の視点は多次元の問題を見落とす。 単一のエージェントがAPIエンドポイントをレビューし、認証を確認し、入力サニタイズを検証し、CORSヘッダーを確認しました。問題なしとの診断です。2番目のエージェントが、別途ペネトレーションテスターとしてプロンプトされ、そのエンドポイントが無制限のクエリパラメータを受け付けており、データベースクエリ増幅によってサービス拒否を引き起こしうることを発見しました。7 最初のエージェントが確認しなかったのは、その評価フレームワークの中にクエリの複雑さをセキュリティ面として扱う仕組みがなかったからです。このギャップは構造的なものです。どれほどプロンプトエンジニアリングを積み重ねても解消されません。

Agent Architectureは、この3つすべてに対処します。hookは決定論的な制約を強制し、subagentはコンテキスト分離を管理し、マルチエージェントのオーケストレーションは独立した視点を提供します。これらが合わさって__TERM_1__を形作るのです。


Harness Pattern

harnessはフレームワークではありません。AIコーディングエージェントを決定論的なインフラストラクチャで包む、組み合わせ可能なファイル、スクリプト、規約のパターンです。構成要素は次のとおりです。

┌──────────────────────────────────────────────────────────────┐
│                      THE HARNESS PATTERN                      │
├──────────────────────────────────────────────────────────────┤
│  ORCHESTRATION                                                │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐             │
│  │   Agent     │  │   Agent    │  │  Consensus │             │
│  │   Teams     │  │  Spawning  │  │  Validation│             │
│  └────────────┘  └────────────┘  └────────────┘             │
│  Multi-agent deliberation, parallel research, voting          │
├──────────────────────────────────────────────────────────────┤
│  EXTENSION LAYER                                              │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │  Skills   │  │  Hooks   │  │  Memory  │  │  Agents  │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
│  Domain expertise, deterministic gates, persistent state,     │
│  specialized subagents                                        │
├──────────────────────────────────────────────────────────────┤
│  INSTRUCTION LAYER                                            │
│  ┌──────────────────────────────────────────────────────┐    │
│  │     CLAUDE.md  +  .claude/rules/  +  MEMORY.md       │    │
│  └──────────────────────────────────────────────────────┘    │
│  Project context, operational policy, cross-session memory    │
├──────────────────────────────────────────────────────────────┤
│  CORE LAYER                                                   │
│  ┌──────────────────────────────────────────────────────┐    │
│  │           Main Conversation Context (LLM)             │    │
│  └──────────────────────────────────────────────────────┘    │
│  Your primary interaction; finite context; costs money        │
└──────────────────────────────────────────────────────────────┘

Instruction Layer: CLAUDE.mdファイルとrulesディレクトリは、エージェントがプロジェクトについて知るべき内容を定義します。セッション開始時と、すべてのcompaction後に自動で読み込まれます。これはエージェントの長期的なアーキテクチャメモリです。

Extension Layer: skillsは、コンテキストに応じて自動的に有効化されるドメイン専門知識を提供します。hooksは、対象となるすべてのツール呼び出しで起動する決定論的なゲートを提供します。memoryファイルはセッション間で状態を保持します。custom agentsは、特化したsubagent設定を提供します。

Orchestration Layer: マルチエージェントのパターンは、リサーチ、レビュー、熟議のために独立したエージェントを連携させます。spawn budgetは再帰の暴走を防ぎます。consensus validationは品質を確保します。

重要な洞察は、多くのユーザーがCore Layerだけで作業し、コンテキストの肥大化とコストの上昇を招いていることです。パワーユーザーはInstruction LayerとExtension Layerを設定し、そのうえでCore Layerをオーケストレーションと最終判断にのみ使います。2

マネージドとセルフホストのHarness(2026年4月)

2026年初頭を通じて、「独自のharnessを構築する」道だけが現実的な選択肢でした。2026年4月に状況が変わりました。Anthropicは4月8日、Claude Managed Agentsをパブリックベータとして提供開始しました。harness loop、ツール実行、sandbox container、状態永続化をREST APIとして提供し、通常のトークン料金に加えてセッション時間あたり$0.08が課金されます。OpenAIのAgents SDKアップデート(4月16日)は、同じ分離を正式化しました。harnessとcomputeを別レイヤーとして扱い、ネイティブsandbox provider(Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel)と、コンテナ喪失後も継続するためのsnapshot/rehydrateを提供します。2324

OpenAI側のより深いSDK機能は、openai-agents Python v0.14.0で提供されました(2026年4月15日リリース、4月16日発表)。AgentSandboxAgentサブクラスであり、default_manifest、sandbox instructions、capabilitiesを備えています。また、新しいworkspaceの契約(ファイル、ディレクトリ、ローカルファイル、Gitリポジトリ、env、ユーザー、mount)を記述するManifest、sandbox client、ライブセッションの注入、manifest override、snapshot、materializationの並行数上限を実行ごとに接続するSandboxRunConfigも含まれます。組み込みcapabilitiesは、shell access、filesystem editing、image inspection、skills、sandbox memory、compactionをカバーします。sandbox memoryは、抽出した学びを実行間で保持し、段階的に開示します。workspaceはローカルファイル、Git repo entry、リモートmount(S3、R2、GCS、Azure Blob、S3 Files)をサポートし、snapshotはprovider間で持ち運べます。バックエンドは、UnixLocalSandboxClientDockerSandboxClient、およびオプションextra経由のBlaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel向けhosted clientです。24

Pythonプロジェクトで、Claude Code runtimeをライブラリとして組み込みたい場合、つまり「claudeをshell outする」と「Managed AgentsへのREST API」の間に位置する第3の選択肢が、claude-agent-sdk-pythonです。4月28日から29日のシリーズ(v0.1.69 → v0.1.71)では、バンドルされるCLIがv2.1.123へ更新され、mcp依存関係の下限が>=1.19.0へ引き上げられました。以前のバージョンでは、プロセス内MCPツールからのCallToolResult返却が暗黙に破棄され、モデルにはvalidation-error blobだけが残っていました。また、SandboxNetworkConfigはTypeScript SDKとスキーマ互換になりました(allowedDomainsdeniedDomainsallowManagedDomainsOnlyallowMachLookup)。30 2026-08-12時点で、パッケージはPyPIでv0.2.137、TypeScript SDKはv0.3.229です(どちらもライブレジストリで検証済み)。0.2.x系は、ここで説明した0.1.xの機能を段階的に拡張したものです。以下のinclude_hook_eventsskills、sandbox-configオプションはいずれも現在も有効であり、最近のリリースはsubprocess-cleanupとNDJSON-streamの信頼性向上に重点を置いています。9086

harnessにvoiceまたはrealtimeレイヤーが含まれる場合、openai-agents-python v0.17.0(2026年5月8日)は、RealtimeAgentのデフォルトをgpt-realtime-2へ更新しました。41 既存のrealtime sessionは新しいデフォルトを自動的に取得します。評価のために以前の挙動を維持する必要がある場合は、以前のモデルを明示的に固定してください。

2026年7月には、マネージド側にもOpenAIのマルチエージェント機能が加わりました。openai-agents-python v0.18.2(7月11日)とopenai-agents-js v0.13.2(7月10日)は、ベータ版としてhosted multi-agent supportを追加しました。これは、複数のエージェントをOpenAI管理のオーケストレーションで連携させるhosted serviceであり、Multi-Agent Orchestrationセクションで扱うAnthropicのManaged Multiagent Orchestrationパブリックベータに直接対応します。73 これで両ベンダーは、以下の表が単一エージェント向けに示すのと同じトレードオフをマルチエージェント層でも提供しています。ベンダーがdelegation loopを運用する代わりに、hook surfaceを手放します。

アーキテクチャ上の分岐は、いまや明確です。

観点 セルフホストharness(本ガイドのデフォルト) マネージドharness(Claude Managed Agents / OpenAI Agents SDK)
運用負荷 すべて自分で運用する ベンダーがloop、sandbox、stateを運用する
カスタマイズ 完全に自由 — 独自のhooks、skills、memory 制限あり — ベンダー定義のextension point
コストモデル トークン + セルフホストcompute トークン + runtime-hour premium
状態の耐久性 自分で設計する 切断をまたいでベンダーがcheckpointする
エージェントチームのオーケストレーション 自分で構築する ベンダー提供のマルチエージェント連携

どちらを選ぶべきか: セルフホストは、すでにインフラ運用力があり、自ら制御できるskills/hooksを求めるチームや、特定のworkflowを深く最適化したいチームに適しています。マネージドは、専任のplatform engineerがいないチーム、カスタマイズよりtime-to-valueを重視する場合、または永続化レイヤーを自分で構築せずにラップトップを閉じた後もagent runを確実に継続させたい場合に適しています。両者は互換性があります。セルフホストharnessからREST API経由でManaged Agentsに特定の長時間タスクをdelegatesすることもできます。

ディスク上のHarness構成

~/.claude/
├── CLAUDE.md                    # Personal global instructions
├── settings.json                # User-level hooks and permissions
├── skills/                      # Personal skills (44+)
   ├── code-reviewer/SKILL.md
   ├── security-auditor/SKILL.md
   └── api-designer/SKILL.md
├── agents/                      # Custom subagent definitions
   ├── security-reviewer.md
   └── code-explorer.md
├── rules/                       # Categorized rule files
   ├── security.md
   ├── testing.md
   └── git-workflow.md
├── hooks/                       # Hook scripts
   ├── validate-bash.sh
   ├── auto-format.sh
   └── recursion-guard.sh
├── configs/                     # JSON configuration
   ├── recursion-limits.json
   └── deliberation-config.json
├── state/                       # Runtime state
   ├── recursion-depth.json
   └── agent-lineage.json
├── handoffs/                    # Session handoff documents
   └── deliberation-prd-7.md
└── projects/                    # Per-project memory
    └── {project}/memory/MEMORY.md

.claude/                         # Project-level (in repo)
├── CLAUDE.md                    # Project instructions
├── settings.json                # Project hooks
├── skills/                      # Team-shared skills
├── agents/                      # Team-shared agents
└── rules/                       # Project rules

この構成内のすべてのファイルには目的があります。~/.claude/ツリーは、すべてのプロジェクトに適用される個人用インフラストラクチャです。各リポジトリ内の.claude/ツリーはプロジェクト固有で、gitを通じて共有されます。両者を合わせることで、完全なharnessが構成されます。

Skills System

Skills はモデルが呼び出す拡張機能です。Claude は、明示的に呼び出さなくても、コンテキストに基づいて自動的に検出・適用します。4 セッションをまたいで同じコンテキストを何度も説明していると気づいたら、それが skill を作るべきタイミングです。

Skill を作るタイミング

状況 作るもの 理由
毎セッション同じチェックリストを貼り付けている Skill 自動で有効になるドメイン知識
同じコマンド列を毎回明示的に実行している Slash command 予測可能なトリガーでユーザーが呼び出すアクション
コンテキストを汚さずに、隔離した分析が必要 Subagent 集中作業のための独立したコンテキストウィンドウ
特定の指示を伴う一度きりのプロンプトが必要 Nothing そのまま入力してください。すべてを抽象化する必要はありません。

Skills は、Claude が常に利用できる知識のためのものです。Slash command は、明示的にトリガーするアクションのためのものです。どちらにすべきか迷う場合は、「Claude にこれを自動適用させるべきか、それとも実行するタイミングを自分で決めるべきか」と問いかけてください。

Skill の作成

Skills は、最も広いものから最も狭いものまで、次の4か所に配置できます。4

スコープ 場所 適用対象
Enterprise Managed settings 組織内のすべてのユーザー
Personal ~/.claude/skills/<name>/SKILL.md 自分のすべてのプロジェクト
Project .claude/skills/<name>/SKILL.md このプロジェクトのみ
Plugin <plugin>/skills/<name>/SKILL.md plugin が有効な場所

すべての skill には、YAML frontmatter を含む SKILL.md ファイルが必要です。

---
name: code-reviewer
description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.
allowed-tools: Read, Grep, Glob
---

# Code Review Expertise

## Security Checks
When reviewing code, verify:

### Input Validation
- All user input sanitized before database operations
- Parameterized queries (no string interpolation in SQL)
- Output encoding for rendered HTML content

### Authentication
- Session tokens validated on every protected endpoint
- Permission checks before data mutations
- No hardcoded credentials or API keys in source

Frontmatter リファレンス

フィールド 必須 目的
name はい 一意の識別子(小文字、ハイフン、最大64文字)
description はい 検出トリガー(最大1024文字)。Claude はこれを使って skill を適用するか判断します
allowed-tools いいえ Claude の機能を制限します(例:読み取り専用なら Read, Grep, Glob
disable-model-invocation いいえ 自動有効化を防ぎます。skill は /skill-name 経由でのみ有効になります
user-invocable いいえ false にすると / メニューから完全に非表示になります
model いいえ skill が有効なときに使用するモデルを上書きします
context いいえ fork にすると、隔離されたコンテキストウィンドウで実行します
agent いいえ 独自の隔離コンテキストを持つ subagent として実行します
hooks いいえ この skill にスコープされたライフサイクル hooks を定義します
$ARGUMENTS いいえ 文字列置換:/skill-name の後のユーザー入力に置き換えられます

Description フィールドがすべてを決めます

セッション開始時、Claude Code は各 skill の namedescription を抽出し、Claude のコンテキストに注入します。メッセージを送ると、Claude は言語モデルの推論によって、関連する skill があるかどうかを判断します。Claude Code のソースを独自に分析した結果でも、この仕組みが確認されています。skill の説明はシステムプロンプトの available_skills セクションに注入され、モデルは標準的な言語理解によって関連する skill を選択します。10

悪い description:

description: Helps with code

効果的な description:

description: Review code for security vulnerabilities, performance issues,
  and best practice violations. Use when examining code changes, reviewing
  PRs, analyzing code quality, or when asked to review, audit, or check code.

効果的な description には、何をするか(特定の問題タイプについてコードをレビューする)、いつ使うか(変更、PR、品質分析を調べるとき)、そしてユーザーが自然に入力するトリガーフレーズ(review、audit、check)が含まれています。

自動有効化は法則ではなく、調整可能なものです。v2.1.215 以降、Claude はバンドルされた /verify/code-review skills を自己呼び出ししなくなりました。これらは明示的な呼び出しでのみ実行されます。これは、意図しない実行では得られる価値以上のコストがかかっていた、重量級レビュー skills における description 駆動の有効化を意図的に後退させたものです。74

コンテキスト予算

すべての skill description は、コンテキストウィンドウの1%に動的にスケールするコンテキスト予算を共有し、フォールバックは8,000文字です。4 skills が多い場合は、各 description を簡潔にし、重要なユースケースを先頭に置いてください。SLASH_COMMAND_TOOL_CHAR_BUDGET 環境変数で予算を上書きできますが、11 より良い解決策は、短くより正確な description にすることです。セッション中に /context を実行し、除外されている skills がないか確認してください。

補助ファイルと構成

Skills は、同じディレクトリ内の追加ファイルを参照できます。

~/.claude/skills/code-reviewer/
├── SKILL.md                    # Required: frontmatter + core expertise
├── SECURITY_PATTERNS.md        # Referenced: detailed vulnerability patterns
└── PERFORMANCE_CHECKLIST.md    # Referenced: optimization guidelines

SKILL.md から相対リンクで参照してください。skill が有効になったとき、Claude は必要に応じてこれらのファイルを読み取ります。SKILL.md は500行未満に保ち、詳細な参照資料は補助ファイルへ移してください。12

Git による Skills の共有

プロジェクト skills(リポジトリルートの .claude/skills/)は、バージョン管理を通じて共有されます。4

mkdir -p .claude/skills/domain-expert
# ... write SKILL.md ...
git add .claude/skills/
git commit -m "feat: add domain-expert skill for payment processing rules"
git push

チームメイトが pull すると、skill も自動的に取得されます。インストールも設定も不要です。これは、チーム全体で専門知識を標準化する最も効果的な方法です。

プロンプトライブラリとしての Skills

単一目的の skills を超えて、このディレクトリ構造は整理されたプロンプトライブラリとして機能します。

~/.claude/skills/
├── code-reviewer/          # Activates on: review, audit, check
├── api-designer/           # Activates on: design API, endpoint, schema
├── sql-analyst/            # Activates on: query, database, migration
├── deploy-checker/         # Activates on: deploy, release, production
└── incident-responder/     # Activates on: error, failure, outage, debug

各 skill は、専門知識の異なる側面をエンコードします。これらがまとまって、Claude がコンテキストに基づいて自動的に参照するナレッジベースを形成します。ジュニア開発者も、求めなくてもシニアレベルのガイダンスを受けられます。

Skills と Hooks の組み合わせ

Skills は、skill の実行中にのみ有効になる独自の hooks を frontmatter で定義できます。これにより、他のセッションを汚さないドメイン固有の動作を実現します。2

---
name: deploy-checker
description: Verify deployment readiness. Use when preparing to deploy,
  release, or push to production.
hooks:
  PreToolUse:
    - matcher: Bash
      hooks:
        - type: command
          command: "bash -c 'INPUT=$(cat); CMD=$(echo \"$INPUT\" | jq -r \".tool_input.command\"); if echo \"$CMD\" | grep -qE \"deploy|release|publish\"; then echo \"DEPLOYMENT COMMAND DETECTED. Running pre-flight checks.\" >&2; fi'"
---

Philosophy skills は SessionStart hooks を通じて自動的に有効になり、明示的な呼び出しなしに品質制約をすべてのセッションへ注入します。skill 自体が知識であり、hook は強制です。両者が組み合わさることで、ポリシーレイヤーが形成されます。

よくある Skill の誤り

広すぎる descriptions。 rebase、merge、cherry-pick、さらには git status を含む、あらゆる git 関連プロンプトで有効になる git-rebase-helper skill は、セッションの80%でコンテキストを汚します。解決策は、description を絞り込むか、disable-model-invocation: true を追加して明示的な /skill-name 呼び出しを必須にすることです。4

予算を奪い合う skills が多すぎる。 skills が増えるほど、1%のコンテキスト予算をめぐって description 同士が競合します。skills が有効にならないと感じたら、/context で除外されているものを確認してください。曖昧な skills を多数用意するよりも、よく記述された少数の skills を優先しましょう。

補助ファイルに埋もれた重要情報。 Claude は SKILL.md をすぐに読みますが、補助ファイルには必要なときにしかアクセスしません。重要な情報が補助ファイル内にあると、Claude が見つけられない可能性があります。必須の情報は SKILL.md に直接記載してください。4

SDK Skill Surface(2026年5月8日)

claude-agent-sdk-python v0.1.77+ を使用するセルフホスト型 harness では、利用可能な skills の宣言に ClaudeAgentOptionsskills オプションを使用すべきです。レガシーな allowed_tools"Skill" 値は使用しません。37 "Skill" の短縮記法は非推奨であり、専用オプションによって Claude Code は利用可能な skills についてより構造化された情報を得られます。v0.1.77 にバンドルされている CLI は v2.1.133 です。

.claude/skills/ における Plugin と Skill の収束(2026年5月29日)

Skills は以前からプロジェクトの .claude/skills/ ディレクトリから読み込まれてきました。Claude Code v2.1.157 では、このディレクトリが plugins にも拡張されました。.claude/skills/ に配置した plugin は、marketplace 登録なしで自動的に読み込まれます。また、claude plugin init <name> によって、manifest と SKILL.md がすでに接続された新しい plugin がそこにスキャフォールドされます。58 これにより、以前は別の場所に存在していた2種類のプロジェクトツール形態、つまりリポジトリに直接コミットする素の skill と、skill、hooks、MCP server をバンドルできる一方で、以前は marketplace 経由のインストールが必要だった plugin との隔たりが解消されます。harness デザインにおける実務上の効果は、プロジェクトスコープのツールを配布するのに、もはや registry を経由する必要がないことです。書いて、コミットすれば、チームメイトは git pull で同じ surface を取得できます。Plugins は依然としてバンドルしてインストール可能にするユースケース(hooks + skills + MCP servers + agents を1つの ZIP にまとめるもの)を担います。変わったのは、プロジェクトが自分のツリーから1つを読み込むだけのために marketplace を立ち上げる必要がなくなった点です。この収束は現在、ベンダー横断の基盤も備えています。Agent Plugins 1.0.0(2026年8月6日公開)は、「AI agents のためのポータブルパッケージ形式」として、plugin.json manifest、SKILL.md フォルダからなる skills/ ディレクトリ、任意の mcp.json という同じパッケージ形状を標準化しています。公開時には VS Code、Cursor、GitHub Copilot、ChatGPT & Codex、Kiro が採用しました。これは Agent Skills と MCP を置き換えるものではなく、それらを包むパッケージングレイヤーです。なお、Agent Skills spec の著者である Anthropic は、まだこの連合に加わっていません。そのため、Claude-Code 間の外向きポータビリティは、公式の双方向契約ではなく、フォーマットレベルの互換性として扱ってください。89

ガバナンスとしてバンドルされた Surface を隠す(2026年6月8日)

Skills は能力であり、能力は攻撃対象領域です。Claude Code v2.1.169 では、バンドルされた skills、workflows、組み込み slash commands をモデルから完全に隠す disableBundledSkills 設定(および対応する CLAUDE_CODE_DISABLE_BUNDLED_SKILLS 環境変数)が追加されました。60 強化された、または規制対象の harness では、これは意図的な攻撃対象領域の縮小です。特定の project skills と personal skills を監査・承認した運用者は、Anthropic が同梱するすべてを抑制できます。これにより、モデルは運用者が精査した surface についてのみ推論することになります。ツール allowlist と同じように扱ってください。デフォルトは広い能力であり、そのデフォルトを無効にすることは利便性の切り替えではなく、ガバナンス上の判断です。

ネストした .claude/skills と Closest-Wins 解決(2026年6月16日)

Claude Code v2.1.178 により、プロジェクトツールは場所を認識するようになりました。ネストした .claude/skills ディレクトリ内の skills は、リポジトリルートだけでなく、そのディレクトリ配下のファイルを作業しているときにも読み込まれます。名前が衝突する場合、ネストした skill は <dir>:<name> として表示されるため、両方にアクセスできます。63 同じリリースで、プロジェクト surface の残りの部分も作業ディレクトリに最も近いものを解決するようになりました。agent、workflow、または output-style の名前がネストした .claude/ ディレクトリ間で衝突する場合は、作業ディレクトリに最も近いものが優先されます。また、project-scope workflow の保存先は常にルートではなく、最も近い既存の .claude/workflows/ になります。63 monorepo や repo-of-repos にとって、これは1つのフラットなグローバル surface と、コンテキストに応じて有効になるパッケージごとのツールの違いです。services/api/.claude/skills/ には、API 固有の skills を置けます。これらはそのツリー内で作業している間だけ表示され、同名の services/web/ skill と衝突しません。


Hook Architecture

Hooksは、Claude Code のライフサイクルイベントによってトリガーされるシェルコマンドです。3 LLM の外部で、モデルが解釈するプロンプトではなく通常のスクリプトとして実行されます。モデルが rm -rf / を実行しようとした場合はどうでしょうか。10行のbashスクリプトがコマンドをブロックリストと照合し、シェルに渡る前に拒否します。モデルの意向にかかわらず、hookは発火します。

利用可能なイベント

このガイドの更新時点で、Claude Code は8つのカテゴリにまたがる31の文書化されたライフサイクルイベントを公開しています。リリースに伴いイベント一覧は増えるため、リファレンスドキュメントを信頼できる情報源として扱い、本番用hooksを組み込む前に最新の完全な表をチートシートで確認してください。13

カテゴリ イベント ブロック可能?
セッション SessionStart, Setup, SessionEnd いいえ
ユーザー / 完了 UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle prompt/expansion/stop/idleはブロック可能、StopFailureは不可
ツール PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch pre/permission/batchはブロック可能、postイベントは不可
Subagent / タスク SubagentStart, SubagentStop, TaskCreated, TaskCompleted stop/taskイベントはブロック可能、startは不可
コンテキスト PreCompact, PostCompact, InstructionsLoaded PreCompactはブロック可能、post/loadは不可
ファイルシステム / ワークスペース CwdChanged, DirectoryAdded, FileChanged, WorktreeCreate, WorktreeRemove Worktreeの作成はブロック可能、その他は不可
設定 / 通知 ConfigChange, Notification, MessageDisplay policy settingsを除く設定変更はブロック可能、通知は不可、MessageDisplayは表示テキストのみを変換(displayContent、v2.1.152)
MCP Elicitation, ElicitationResult はい
バックグラウンドおよびマルチエージェントのharnessでは、最近の2つの改善が重要です。v2.1.198 以降、バックグラウンドの claude agents セッションでは、トリガー値 agent_needs_inputagent_completed を伴って Notification hookが発火します。そのため、コーディネーターはフリートのメンバーがプロンプトでブロックされた瞬間や完了した瞬間に反応できます。これは claude agents --json をポーリングする通知駆動型の同等機能です。また v2.1.199 以降、SessionStartSetupSubagentStart hooksは、終了コード2で終了した際にstderrを表示します(従来は出力が黙って破棄されていました)。したがって、起動時またはsubagent起動時のhookが失敗しても、盲目的に失敗するのではなく理由を説明します。

DirectoryAdded(v2.1.219)は、セッション途中のワークスペースにおけるギャップを解消します。 イベント一覧は MessageDisplay がv2.1.152で導入されて以降安定していましたが、DirectoryAdded はそれ以降初めて追加されたライフサイクルイベントです。/add-dir、または SDK の register_repo_root 制御リクエストで、セッション途中に新しい作業ディレクトリが登録された後に発火します。84 このイベントが埋めるギャップは現実的なものです。これまではharnessが SessionStart でワークスペースを徹底的に検証しても、hookが一切発火しないまま2つ目のリポジトリが追加される可能性がありました。起動時にワークスペースについて検証する内容、たとえば信頼性チェック、シークレットスキャン、ツリーから導出するパススコープ規則、リポジトリごとのポリシー読み込みは、ここで再実行する必要があります。セッションのディレクトリ集合は、起動時点で固定ではなくなったためです。このイベントはブロッキングではなく情報提供用です。ゲートとしてではなく、状態の再導出とprovenanceの記録を開始するトリガーとして扱ってください。追加を絶対に許可してはならないディレクトリがある場合は、hookから拒否しようとするのではなく設定で拒否してください。SDK 側も同じリリースで対応しており(TypeScript v0.3.219では制御プロトコルのライフサイクルイベントに DirectoryAdded が追加されています)、SDK でホストされたharnessでも CLI のものと同様に扱えます。85

終了コードのセマンティクス

終了コードによって、hooksがアクションをブロックするかどうかが決まります。3

終了コード 意味 アクション
0 成功 操作は続行されます。Stdoutはverboseモードで表示されます。
2 ブロッキングエラー 操作は停止します。StderrはClaude に渡されるエラーメッセージになります。
1、3など 非ブロッキングエラー 操作は続行されます。Stderrはverboseモード(Ctrl+O)でのみ表示されます。
重要: すべてのセキュリティhookでは exit 1 ではなく exit 2 を使用する必要があります。Exit 1は非ブロッキングの警告です。危険なコマンドは実行されてしまいます。これはチーム全体で最もよくあるhookのミスです。14

Hookの設定

Hooksは設定ファイルに置きます。共有hooksにはプロジェクトレベルの(.claude/settings.json)を、個人用hooksにはユーザーレベルの(~/.claude/settings.json)を使用します。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/validate-bash.sh"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

matcher フィールドは、イベント固有の値をフィルタリングします。ツールイベントでは、BashEditWriteReadGlobGrep、MCP ツール名(mcp__server__tool など)、またはすべてのツールに対応する * といった tool_name 値に一致します。単純な名前と | 区切りのリストは完全一致です。その他の文字を含む値は、JavaScript 正規表現として扱われます。一部のイベントはmatcherをサポートせず、設定されると常に発火します。13 Claude Code v2.1.195以降、ハイフンを含む識別子code-reviewermcp__brave-search)を含むmatcherは、誤って部分文字列に一致するのではなく完全一致します。つまり、特定のagentまたはサーバーを対象とするhookが、文字列を含むだけのすべての名前で発火しなくなりました。ハイフンを含む MCP サーバーの全ツールを対象にするには、明示的なパターン mcp__brave-search__.* を記述してください。66 v2.1.214では、同じ厳密さがパスパターンにも適用されました。単一セグメントの dir/** パターンを使うhookの if: 条件は、ツリー内の任意の場所にある dir ではなく <cwd>/dir のみに一致します。本当に任意の深さを意味する場合は **/dir/** を記述してください。74 v2.1.195の変更と同様に、この修正は意図しない広範囲の適用を、明示的に宣言された意図へと置き換えるものです。以前の任意深度の挙動に暗黙に依存していたhook条件を監査してください。

Hookの入力/出力プロトコル

Hooksは完全なコンテキストを含む JSON をstdinで受け取ります。

{
  "tool_name": "Bash",
  "tool_input": {
    "command": "npm test",
    "description": "Run test suite"
  },
  "session_id": "abc-123",
  "agent_id": "main",
  "agent_type": "main"
}

高度な制御のために、PreToolUse hooksはツール入力の変更、コンテキストの注入、権限判断を行う JSON を出力できます。hookSpecificOutput ラッパーを使用してください。従来のトップレベル decision/reason 形式は、PreToolUseでは非推奨です。

{
  "hookSpecificOutput": {
    "hookEventName": "PreToolUse",
    "permissionDecision": "allow",
    "permissionDecisionReason": "Command validated and modified",
    "updatedInput": {
      "command": "npm test -- --coverage --ci"
    },
    "additionalContext": "Note: This database has a 5-second query timeout."
  }
}

3種類の保証

hookを書く前に、必要な保証の種類を問いかけてください。14

フォーマット保証は、事後的に一貫性を確保します。Write/Editに対するPostToolUse hooksは、ファイル変更のたびにformatterを実行します。formatterがすべてを正規化するため、モデルの出力は問題になりません。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; elif [[ \"$FILE_PATH\" == *.js ]] || [[ \"$FILE_PATH\" == *.ts ]]; then npx prettier --write \"$FILE_PATH\" 2>/dev/null; fi'"
          }
        ]
      }
    ]
  }
}

安全性保証は、危険なアクションが実行される前に防ぎます。Bashに対するPreToolUse hooksはコマンドを検査し、終了コード2で破壊的なパターンをブロックします。

#!/bin/bash
# validate-bash.sh — block dangerous commands
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "rm\s+-rf\s+/|git\s+push\s+(-f|--force)\s+(origin\s+)?main|git\s+reset\s+--hard|DROP\s+TABLE"; then
    echo "BLOCKED: Dangerous command detected: $CMD" >&2
    exit 2
fi

品質保証は、判断ポイントで状態を検証します。git commit コマンドに対するPreToolUse hooksはlinterまたはテストスイートを実行し、品質チェックが失敗した場合はコミットをブロックします。

#!/bin/bash
# quality-gate.sh — lint before commit
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')

if echo "$CMD" | grep -qE "^git\s+commit"; then
    if ! LINT_OUTPUT=$(ruff check . --select E,F,W 2>&1); then
        echo "LINT FAILED -- fix before committing:" >&2
        echo "$LINT_OUTPUT" >&2
        exit 2
    fi
fi

シェルコマンド以外のHookタイプ

Claude Code は5種類のhookタイプをサポートしています。13 Command hookstype: "command")はシェルスクリプトを実行します。高速かつ決定的で、トークンコストはかかりません。

MCP tool hookstype: "mcp_tool")は、すでに接続されているMCPサーバー上のツールを呼び出します。検証ロジックがすでにMCP境界の背後にあり、別のシェルスクリプトを必要としない場合に使用します。

Prompt hookstype: "prompt")は、高速なClaudeモデルに単一ターンのプロンプトを送ります。モデルは許可する場合に{ "ok": true }を、ブロックする場合に{ "ok": false, "reason": "..." }を返します。regexでは表現できない微妙な評価に使用します。

Agent hookstype: "agent")は、複数ターンの検証のためにツールアクセス(Read、Grep、Glob)を持つsubagentを起動します。これらは実験的な機能です。本番のゲートにはcommand hooksを優先し、実際のファイルやテスト出力を本当に調べる必要があるチェックにのみagent hooksを使ってください。

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "agent",
            "prompt": "Verify all unit tests pass. Run the test suite and check results. $ARGUMENTS",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

Claude Code v2.1.140以降、agent hookの入力にはsubagent_typeが含まれます。これにより、共有hookはプロンプト本文から推測せずに、security-reviewerの実行をexplorerや汎用workerと区別できます。49

HTTP hookstype: "http")は、イベントのJSON入力をURLへのPOSTリクエストとして送信し、JSONを受け取ります。webhook、外部通知サービス、またはAPIベースの検証(v2.1.63以降)に使用します。SessionStartイベントではサポートされません。

{
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "http",
            "url": "https://your-webhook.example.com/hook",
            "headers": { "Authorization": "Bearer $WEBHOOK_TOKEN" },
            "allowedEnvVars": ["WEBHOOK_TOKEN"],
            "timeout": 10
          }
        ]
      }
    ]
  }
}

Async Hooks

hooksは実行をブロックせず、バックグラウンドで実行できます。通知やログ記録のような重要ではない操作には、async: trueを追加します。13

{
  "type": "command",
  "command": ".claude/hooks/notify-slack.sh",
  "async": true
}

通知、telemetry、バックアップにはasyncを使用します。フォーマット、検証、または次のアクションの前に完了しなければならないものには、決してasyncを使用しないでください。

個別hooksよりdispatcher

同じイベントで7つのhookをすべて発火させ、それぞれが独立してstdinを読み取ると、race conditionが生じます。同じJSON状態ファイルに2つのhookが同時に書き込むと、JSONが切り詰められます。そのファイルをパースする下流のすべてのhookが壊れます。2

解決策は、キャッシュされたstdinからhooksを順番に実行する、イベントごとに1つのdispatcherです。

#!/bin/bash
# dispatcher.sh — run hooks sequentially with cached stdin
INPUT=$(cat)
HOOK_DIR="$HOME/.claude/hooks/pre-tool-use.d"

for hook in "$HOOK_DIR"/*.sh; do
    [ -x "$hook" ] || continue
    echo "$INPUT" | "$hook"
    EXIT_CODE=$?
    if [ "$EXIT_CODE" -eq 2 ]; then
        exit 2  # Propagate block
    fi
done

hooksのデバッグ

黙って失敗するhooksをデバッグする5つの手法です。14

  1. スクリプトを個別にテストします。 サンプルJSONをパイプします:echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh
  2. デバッグ出力にはstderrを使用します。 exit code 2のstderrはエラーメッセージとしてClaudeに返されます。ブロックしないstderr(exit 1、3など)はverbose mode(Ctrl+O)でのみ表示されます。
  3. jqの失敗に注意します。 誤ったJSONパスは、黙ってnullを返します。実際のtool inputに対してjq式をテストしてください。
  4. exit codeを確認します。 exit 1を使用するPreToolUse hookは、動作しているように見えても強制力はまったくありません。
  5. hooksを高速に保ちます。 hooksは同期的に実行されます。すべてのhookを2秒未満、理想的には500ms未満に抑えてください。

SDK側hook event streaming

claude-agent-sdk-python(v0.1.74以降、2026年5月6日)上に構築されたself-hosted harnessesでは、シェルスクリプトcallbackを経由せず、message streamから直接hook eventsを購読できます。36 ClaudeAgentOptionsinclude_hook_events=Trueを設定すると、HookEventMessageオブジェクト(PreToolUse、PostToolUse、Stopなど)がassistant messagesやtool resultsと同じiteratorからyieldされます。これはTypeScript SDKのincludeHookEventsオプションを反映したもので、bundled CLIも同じリリースでv2.1.129に引き上げられました。

event-stream patternは、harnessがすでにPython内にあり、model outputと同じcontrol flowでhook signalsを扱いたい場合に適しています。複数のtoolsを組み合わせるharnesses、Claude CodeとCodex間でhooksを共有するharnesses、またはブロックのためにexit-code semanticsを必要とする場合には、shell-script hook contract(exit codes、stdin JSON、dispatchers)が依然として適切です。

TypeScript SDKの2026年7月のseries(v0.3.205~v0.3.208)により、streamed protocol自体がより契約的になりました。70 interruptsは現在、typed receiptsを返します。interruptは、still_queued UUIDによってどのqueued messagesがまだpendingかを通知します。また、sessionsはsystem/initinterrupt_receipt_v1 capabilityを通知するため、coordinatorは「interruptが到達した」ことと「すでにin flightのmessageをinterruptが追い越した」ことを区別できます。command_lifecycle framesは、messageごとのqueued/started/completed/cancelled/discardedを報告します。これは、transcript inferenceなしに「送信したmessageに何が起きたか」に答える初のfirst-partyの手段です。より小さなsurfaceも追加されました。subagent completion payload用のAgentToolCompletedOutput typeと、canUseTool callbacksがupdatedInput fieldなしで{behavior: 'allow'}を返せるようになったことです。

このseriesの1行は機能ではなくsecurity floorです。v0.3.208では、pending hook中にcaller abortが到着した際、hook successへ変換される問題が修正されました。つまり、PreToolUse hookでゲートされたtoolが、callerのabort後に実行される可能性がありました。70 harnessがSDK側hooksをpermission gateとして使用し、in-flight workのキャンセルにabortを依存している場合、v0.3.208を最低バージョンとして扱ってください。これより前では、「aborted」は確実に「blocked」を意味しませんでした。Python v0.2.127(2026年7月24日)は、1か月のうちに発生したこの形の2つ目のbypassです。query()が、background subagentsがまだ実行中であるにもかかわらず、最初のresult frameでstdinを閉じたため、それらのSDK-MCP tool callsは"Stream closed"で失敗し、さらにPreToolUse hooksを完全にbypassしました。85 このpatternを明確にし、注意してください。SDK側hook enforcementは、hook verdictが収集される前にtransportが停止するlifecycle edges、すなわちabort、teardown、stream closeでfail openします。そしてbypassed hookは承認したhookとまったく同じに見えるため、黙って失敗します。両方のSDK floorsを固定し、証明可能なenforcementとしてshell-hook layerを維持してください。

Effortとsession provenance(2026年5月7~8日)

Claude Code v2.1.132およびv2.1.133の2つの追加により、hooksとsubprocessesは実行contextに関するより良いsignalを得られます。3839

  • hook inputのeffort.level hooksは、tool_inputsession_idを含む同じ入力でeffort.level JSON fieldを受け取るようになりました。同じ値は$CLAUDE_EFFORT env varとしてexportされるため、Bash commandsはJSONをパースせずに読み取れます。これにより、effort tierに応じてhook costを調整できます。lowでは高コストなvalidationをスキップし、xhighまたはmaxでは完全なsecurity gateを実行します。
  • Bash subprocessesのCLAUDE_CODE_SESSION_ID env var。 Bash tool subprocessesは、hooksが参照するものと同じsession_id値をCLAUDE_CODE_SESSION_IDとして確認できるようになりました。これにより、sessionごとのstateを記録し、以前はsubprocess eventsとhook eventsを関連付けられなかったtoolsのprovenance gapが解消されます。

どちらのsignalもコード変更なしで利用できます。新しいfieldsを無視する既存hooksは、そのまま動作します。

autoMode.hard_denyとv2.1.136のHook/Plugin修正(2026年5月8日)

Claude Code v2.1.136では、auto modeに新しいhard-deny tierが追加され、長時間実行されるharnessesに影響するpluginおよびMCPの問題群が修正されました。40 - settings.autoMode.hard_deny. ユーザーの意図や許可例外にかかわらず、無条件でブロックする自動モード分類器ルールです。既存の allow/deny マッチャーより上位に位置する、交渉の余地がないガバナンスレバーです。個人設定でより広いカテゴリをオペレーターが承認している場合でも、決して上書きされてはならないルール(main への force-push、シークレットを含むファイル、本番データベースへのアクセス)に使用します。 - autoMode.classifyAllShell(v2.1.193)。 デフォルトでは、自動モード分類器は任意コード実行パターンに一致するシェルコマンドだけをレビューします。この設定では、すべての Bash/PowerShell コマンドを分類器に通します。これは、統制された harness における最大カバレッジの姿勢です。同じリリースでは、拒否の理由がトランスクリプト、トースト、/permissions に表示されるようになり、無言のブロックが監査可能な判断へと変わります。Codex は v0.142.2 で同等の領域を強化しました。安全分類器が検査できない実行可能な AST 領域を含む PowerShell コマンドは、無言で通過するのではなく承認が必要になりました。66 - Hook の ask が分類器の下限を設定します(v2.1.211)。 hook と自動モードの優先順位に関する問題は解決されました。ask 権限判断を返す PreToolUse hook は、最終結果をプロンプトに固定します。自動モードは、sandbox 化されていない Bash コマンドに対してそれを allow へ戻すことはできません。69 統制された harness にとって、これは欠けていた保証層です。hook の ask は、完全自動の権限ポスチャーでも維持される、決定論的な human-in-the-loop の停止点になります。拒否ではなく人間による判断を求める操作には、(exit-2 ブロックだけでなく)ask を使用してください。 - 分類器モデルはセッションごとに固定されます(v2.1.210)。 自動モード分類器のデフォルトは Sonnet 5 で、セッション中は固定されます。そのため、セッション途中でモデルを切り替えても、権限分類を行うモデルは変わりません。69 分類の一貫性はガバナンス上の特性であり、これにより静かなドリフト要因が取り除かれます。 - MCP サーバーが /clear 後に消えなくなりました。 .mcp.json、plugins、claude.ai connectors で設定されたサーバーは、VS Code 拡張機能、JetBrains plugin、Agent SDK で /clear を実行すると、アクティブセットから無言で脱落していました。修正は v2.1.136 で提供されています。「セッション途中で MCP server X が消えた」という問題が起きていた場合、これが原因です。 - 同時リフレッシュ時の MCP OAuth refresh-token 消失。 複数のリモート MCP サーバーを使用する場合でも、毎日の再認証は不要になるはずです。同時リフレッシュ時の書き込みが互いを上書きしていました。 - Plan mode がファイル書き込みを正しくブロックするようになりました。 一致する Edit(...) allow ルールにより、plan-mode の書き込み保護がバイパスされていました。現在は allow ルールにかかわらず Plan mode が適用されます。 - Plugin の Stop および UserPromptSubmit hooks がセッション途中で失敗しなくなりました。 キャッシュクリーンアップにより、実行中セッションがまだ使用している plugin-version ファイルが削除され、特にこの 2 つの hook event が壊れていました。修正により、使用中のバージョンは固定されます。 - plugin.jsonskills エントリ。 skills を設定すると、plugin のデフォルト skills/ ディレクトリが隠れていました。現在はエントリが正しく合成され、ファイルパスを指定すると無言で失敗するのではなく明示的なエラーになります。 - CLAUDE_ENV_FILE SessionStart hook の環境変数が古くなる問題。 CLAUDE_ENV_FILE を通じて SessionStart hooks がエクスポートした変数は、/resume または /clear 後に古い状態になっていました。v2.1.136 で修正されています。これらのイベントで、セッションは環境ファイルを再度 source するようになりました。

ガバナンス harness で運用上注目すべき項目は、autoMode.hard_deny(新しいレバー)と MCP 消失の修正(長時間セッションを壊していた無言の障害)です。その他はすべて、使い勝手に関するクリーンアップです。

構造化された Hook 引数とブロック後の継続(2026年5月11日)

Claude Code v2.1.139 では、本番 harness に重要な 2 つの hook 詳細が追加されました。コマンド hooks 向けの args: string[] exec 形式と、PostToolUse hooks 向けの continueOnBlock です。4244 hook で動的な値やパスプレースホルダーが必要な場合は、args を優先してください。シェルを介さずにコマンドを直接起動するため、クォートやインジェクションのミスを一群まとめて排除できます。

PostToolUse hook が拒否理由を Claude に返し、フローを終了せずにターンを継続すべき場合は continueOnBlock を使用します。これはセキュリティバイパスではなく、オペレーター体験の機能として扱ってください。ブロッキングゲートは、依然として安全でない結果をブロックする必要があります。

同じリリースでは、CLAUDE_PROJECT_DIR が MCP stdio サーバーに渡され、plugin configs ではコマンド内で ${CLAUDE_PROJECT_DIR} を参照できるようになりました。42 MCP ツールは、サーバーを起動したプロセスの作業ディレクトリではなく、この値を基準にプロジェクト相対パスを解決すべきです。2026年7月初旬のリリース(v2.1.203–v2.1.206)では、同じ原則がプロトコルレベルにも拡張されました。MCP roots/list にはセッションの追加作業ディレクトリが含まれるようになり、それらが変更されると roots/list_changed 通知が発行されます。つまり、MCP roots を尊重するサーバーは、単一のプロジェクトディレクトリを前提とするのではなく、実際の複数ディレクトリのワークスペース形状を追跡できます。68

Claude Code v2.1.140 は、主に harness オペレーター向けの信頼性リリースです。設定変更時に ConfigChange hooks が発火しない問題を修正し、disableAllHooksallowManagedHooksOnly が設定レベルをまたいで正しく合成されないエッジケースを解消し、hook 結果が返した意図しない環境変数を権限ダイアログに表示しないようにします。49 これにより、このセクションにある既存のガバナンスパターンの信頼性が高まります。新しい hook アーキテクチャが必要になるわけではありません。

Claude Code v2.1.141 では、制御端末なしでデスクトップ通知、ウィンドウタイトル、ベルを扱うための hook-output terminalSequence フィールドが追加されました。50 これは強制ではなく、オペレーターへのシグナルとして扱ってください。セキュリティおよび品質ゲートは、依然として通常のブロッキング契約、すなわち構造化された hook 出力と安全でない操作を防ぐ exit 動作を通じて失敗を伝える必要があります。同じリリースでは、Agent View を 1 つのディレクトリにスコープする claude agents --cwd <path>、GitHub SSH keys がない環境での plugin インストール用 CLAUDE_CODE_PLUGIN_PREFER_HTTPS、複数のワークスペースを対象とする workload-identity federation ルール用 ANTHROPIC_WORKSPACE_ID も追加されました。50 これらはチーム harness のアーキテクチャ詳細です。より狭い運用ビュー、plugin インストールに関する前提の削減、明示的なエンタープライズトークンのスコーピングを実現します。

Claude Code v2.1.142 は、hook セマンティクスよりもバックグラウンドセッションのオーケストレーションにとって重要です。51 claude agents は、ラッパーの状態に依存せず、明示的なディレクトリ、設定、MCP、plugin、権限、モデル、effort フラグを使ってバックグラウンドセッションをディスパッチできるようになりました。このリリースでは Fast mode のデフォルトが Opus 4.7 となり、Opus 4.6 の挙動への測定済みの依存がある harness では、CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 を固定設定として使用できます。v2.1.219 時点で、Opus 4.7 は fast mode の対象から完全に外れ、/fast は Opus 5 と Opus 4.8 に適用されます。84 ルートレベルの plugin SKILL.md 検出と plugin 提供の LSP 可視性により、パッケージングの曖昧さが減ります。MCP_TOOL_TIMEOUT、既存のバックグラウンドセッション worktrees、daemon の sleep/wake とアップグレード後のクリーンアップ、plugin キャッシュクリーンアップに対する修正は、そうでなければオーケストレーションのバグに見える信頼性ギャップを閉じます。

Stop-hook ステアリング、クロスセッション権限、multi-agent v2(2026年6月)

6月初旬の 4 つの変更は、harness と multi-agent のデザインにとって重要です。59

Stop/SubagentStop hooks にステアリングチャネルが追加されました。 Claude Code v2.1.163 以降、Stop または SubagentStop hook は hookSpecificOutput.additionalContext を返して Claude にフィードバックを渡し、ターンを継続できるようになりました。レスポンスは hook エラーとしてラベル付けされません。以前は、Stop hook の実質的なレバーは exit-2 ブロックだけで、これはエラーとして扱われ、連続ブロック上限にカウントされます。品質ゲート harness にとって、これはよりクリーンなプリミティブです。「完了と言ったがテストは失敗している」と検出した Stop hook は、ハードブロックする代わりに「まだ失敗している項目はこれです。続行してください」と注入できます。真の停止条件にはブロックを使い、「まだ完了していない理由」を伝えるには additionalContext を使ってください。

クロスセッションメッセージングでは借用した権限が引き継がれなくなりました。 v2.1.166 は multi-session のケースを強化しました。別の Claude セッションから SendMessage 経由で中継されたメッセージは、発信元ユーザーの権限を引き継がなくなりました。そのため、受信セッションは中継された権限リクエストを拒否し、自動モードはそれをブロックします。オーケストレーションでエージェント同士がメッセージを送る場合、受信メッセージは認証済みの指示ではなく、信頼できないデータとして扱ってください。これは、security section がツール出力に適用している原則を、inter-agent messaging に拡張したものです。v2.1.199 時点で、Claude Code は 2 つのエージェントが同じ名前を共有しているため SendMessage が誤送信された場合も検出して警告します。これは、この権限境界を補完する信頼性対策です。同名の誤ったエージェントにメッセージが届くこと自体が、別種のオーケストレーションバグになるためです。 セッションが第一級のピアになりました(v2.1.224+)。 クロスセッションメッセージングは、リレー強化から完全な機能群へと発展しました。SendMessage/ListAgents により、macOS/Linux の各マシンにあるセッションを検出し、相互にメッセージを送信できます。受信側では crossSessionInbound による受諾/保留/拒否の制御が可能です。さらに、self-hosted runners により、Claude Code の Web・モバイルセッションを、自分で管理するハードウェア上で実行できます。harness アーキテクチャにおいて、これは「1つのセッション」をアドレス指定可能なノードへと変えます。検出、受信ポリシー、そして前述の権限境界は、もはやメールボックス用スクリプトではなくプラットフォームの基本機能です(完全な契約は Claude Code ガイド に記載されています)。87 あわせて、運用姿勢にも1つ変更があります。Pro、Max、Team プランでは、2026年8月14日に auto mode がデフォルトの権限モードになります。Manual mode のプロンプトを human-in-the-loop の最後の防波堤として頼りにする harness では、暗黙に期待せず defaultMode を明示的に固定してください。87

モデルのレジリエンスが第一級の設定になりました。 fallbackModel 設定では、プライマリモデルが過負荷または利用不可の際に順番に試す、最大3つのバックアップモデルを連鎖させられます。また、予期しない再試行不可の API エラーが発生した場合、ターンは fallback で1回自動再試行されます。長時間稼働する自律型 harness では、一時的なプライマリモデルの障害が実行の脱落ではなく、穏やかな機能低下に変わります。claude agents --json には、ブロックされたバックグラウンドセッションが何を待っているか(権限プロンプトなど)を示す waitingFor フィールドも追加されました(v2.1.162)。これはエージェント群をポーリングするコーディネーターにとって、可観測性の大きな改善です。

クリーンルーム型ガバナンスとトラブルシューティングのための safe mode。 Claude Code v2.1.169 では、--safe-mode フラグ(および対応する CLAUDE_CODE_SAFE_MODE 環境変数)が追加されました。これにより、CLAUDE.md、plugins、skills、hooks、MCP servers を含むすべてのカスタマイズを一度に無効化した状態でセッションを開始できます。60 これは harness の対極、つまり意図的に作られたクリーンルームです。運用者がいずれ必ず問うことになる、「この挙動はモデルによるものか、それとも自分の設定によるものか」という問いに答えるために使えます。hook が誤作動したとき、意図しない skill が有効化されたとき、あるいは MCP server がコンテキストを汚染したとき、--safe-mode は比較対象となる既知の空のベースラインを提供します。またこれはガバナンスの基本機能でもあります。通常は harness が付与する永続的な権限を一切与えず、素のモデルを実行する手段であり、運用者定義の足場が結果に影響しない状態で再現を行う必要がある場面で重要です。

モデル階層について。 Claude Code v2.1.197(2026年6月30日)時点で、Claude Sonnet 5 は新規セッション向けの出荷時デフォルトモデルです。ネイティブ 1M コンテキストと、8月31日までのプロモーション価格(入力/出力それぞれ MTok あたり $2/$10)により、標準選択肢として Opus 4.8 に代わりました。本ガイドでは、Opus 5(claude-opus-5)を推奨する agentic デフォルトとして扱います。長期的でリスクの高いエージェントループこそ Opus の推論深度がコストに見合う場面であるため、意図的に別の選択をしない限り、自律型 harness ではこのモデルを使用してください。Opus 5 は 2026年7月24日に Claude Code v2.1.219 で新しいデフォルト Opus としてリリースされました。1M コンテキスト、MTok あたり $5/$25(置き換える Opus 4.8 と同額)、約2.5倍のデフォルト速度を実現する fast mode は $10/$50 です。Anthropic は、Frontier-Bench v0.1 において Opus 4.8 の2倍超の性能を示しつつ、半額で Fable 5 の CursorBench 3.2 スコアの0.5%以内に収まったと報告しています。8491 同価格で高性能になり、Anthropic が「作業を検証し、慎重に反復する能力がはるかに高い」と評価するモデルは、harness 作業ではコスト面の議論を必要としない稀有なアップグレードです。4.8 からの移行は ID の変更だけです。コスト重視または高スループットの作業で、速度と知能の比率が優位になる場合は Sonnet 5 に下げてください。Opus の上には Claude Fable 5claude-fable-5)があります。2026年6月9日に登場したこの新階層は、Anthropic により最も強力なモデルと説明され、汎用利用向けに安全化された「Mythos-class」システムであり、Claude Code v2.1.170 では /model claude-fable-5 で選択できます。60 より上位の階層は、推論深度そのものがコストを正当化する意思決定に限って意図的に使い、エージェント群全体の一律設定にはしないでください。Opus 5 への切り替えには、運用上の影響が2つあります。Opus 4.7 は fast mode の対象外となり(/fast は Opus 5 と Opus 4.8 に適用されます)、v2.1.176 以降「利用可能な最良の Opus モデル」であった auto-mode classifier の Fable-5 fallback は、現在 Opus 5 に解決されます。84

Codex が multi-agent v2 をリリースしました。 Codex CLI v0.137.0 では、実行時の選択が各スレッドに保持され、生成したエージェント向けの follow-up とメタデータのデフォルトが整理されました(hide_spawn_agent_metadata はデフォルトで true です)。また、生の親イベントを子リスナーへ伝播します。subagent モデルは明示的なままです。組み込みの default/worker/explorer agent types、TOML で定義するカスタムエージェント、そして並行実行制御(agents.max_threads のデフォルトは6、agents.max_depth のデフォルトは1)があります。同リリースでは、ターンごとの skill-catalog 解決機能を持つ v1 skills extension と、新しい thread-start/turn-error ライフサイクルコントリビューターイベントも加わりました。これにより、カーネルサンドボックスをデフォルト境界として維持しつつ、Claude Code の hook/skill 機能群との差が縮まりました。その後 Codex v0.138.0~v0.139.0 では、multi-agent v2 が本番向けに強化されています。エージェント間メッセージのペイロードは暗号化され、v2 agent config catalog と agent-residency LRU により常駐を維持するエージェントを管理できるようになりました。さらに、並行実行数は生成済みスレッドではなくアクティブな実行に基づいて数えられるため、アイドル状態のエージェントはスロットを消費しません。61 ライフサイクル API も成熟しました。close_agent は、単にハンドルを閉じるのではなく実行中のエージェントを中断することを示すため、interrupt_agent に改名されました(v0.139.0)。また、subagent が発生させた MCP 起動警告は、親のトランスクリプトへ重複して伝播せず、所有スレッドのスコープ内に留まります。61 Codex 側のオーケストレーションを構築する人にとって、これらはデモとエージェント群の違いを生みます。すなわち、暗号化されたメッセージ転送、制限された常駐、実行数に基づく並行制御、そしてスレッド境界を越えて漏れない警告です。続く Codex v0.140.0 では、クロスtool の接点が開かれました。/import は Claude Code からセットアップ、プロジェクト設定、最近のチャットを選択的に Codex へ取り込み、セッションは恒久的に削除可能になりました(確認保護付きの codex delete / /delete)。64 /import は、運用者が harness 間を移動することを初めて公式に認めた機能です。ある harness 用に構築した設定は、もはやそこに閉じ込められません。


メモリとコンテキスト

すべてのAI会話は、有限のコンテキストウィンドウ内で動作します。会話が長くなるにつれて、システムは新しいコンテンツのための余地を確保するため、以前のターンを圧縮します。この圧縮では情報が失われます。ターン3で文書化したアーキテクチャ上の決定が、ターン15まで残っているとは限りません。9

複数ターンでの崩壊を引き起こす3つのメカニズム

MSR/Salesforceの研究では、それぞれ異なる介入を必要とする、独立した3つのメカニズムが特定されました。9

メカニズム 起こること 介入
コンテキスト圧縮 新しいコンテンツを収めるため、以前の情報が破棄される ファイルシステムへの状態チェックポイント
推論の一貫性喪失 モデルがターンをまたいで以前の決定と矛盾する フレッシュコンテキスト反復(Ralph loop)
協調の失敗 複数のエージェントが異なる状態スナップショットを保持する エージェント間の共有状態プロトコル

戦略1:メモリとしてのファイルシステム

コンテキスト境界をまたいで最も信頼できるメモリは、ファイルシステムにあります。Claude Code はすべてのセッション開始時と各圧縮後に、CLAUDE.md とメモリファイルを読み取ります。6

~/.claude/
├── configs/           # 14 JSON configs (thresholds, rules, budgets)
│   ├── deliberation-config.json
│   ├── recursion-limits.json
│   └── consensus-profiles.json
├── hooks/             # 95 lifecycle event handlers
├── skills/            # 44 reusable knowledge modules
├── state/             # Runtime state (recursion depth, agent lineage)
├── handoffs/          # 49 multi-session context documents
├── docs/              # 40+ system documentation files
└── projects/          # Per-project memory directories
    └── {project}/memory/
        └── MEMORY.md  # Always loaded into context

MEMORY.md ファイルには、セッションをまたぐエラー、決定、パターンを記録します。VARが0のとき、bashで set -e を使用すると ((VAR++)) が失敗することを発見したら、記録します。3セッション後、Python で似た整数のエッジケースに遭遇したとき、MEMORY.mdのエントリがそのパターンを示します。15

Auto Memory(v2.1.32+): Claude Code はプロジェクトコンテキストを自動的に記録・想起します。作業中、Claude は観察事項を ~/.claude/projects/{project-path}/memory/MEMORY.md に書き込みます。Auto memoryはセッション開始時に、先頭200行をシステムプロンプトへ読み込みます。簡潔に保ち、詳細なメモは個別のトピックファイルへリンクしてください。6 v2.1.210以降、サイズ制限を超える MEMORY.md の書き込みは、黙って切り詰められるのではなくエラーになります69 失敗は、いつの間にか消えたメモリエントリとしてではなく、書き込み時に表面化します。harnessがメモリ書き込みを自動化している場合は、このエラーを処理してください。これはリトライすべきものではなく、ファイルの整理が必要だとプラットフォームが伝えているのです。

メモリ量よりメモリのキュレーション(2026年5月): LLM-agent協調に関する最近のarXivプレプリントでは、想起範囲の拡大が失敗モードになり得ると示されています。著者らの実験では、可視履歴が長いほど、28のモデルゲーム設定のうち18で協調が低下しました。48 これは完成した法則ではなく、デザイン上の警告として扱ってください。プロダクションにおけるルールはすでに十分明確です。MEMORY.md は短く保ち、詳細はリンク先に置き、引き継ぎには意思決定に使える要約を記載します。生のトランスクリプトダンプ、ツールログ、長大な想起フィードは、アクティブなプロンプトへ自動的に入れるのではなく、検索可能なストレージに置くべきです。

戦略2:プロアクティブな圧縮

Claude Code の /compact コマンドは、主要な決定、ファイル内容、タスク状態を保持しながら会話を要約し、コンテキスト領域を解放します。15

圧縮するタイミング: - 明確なサブタスクを完了した後(機能実装、バグ修正) - コードベースの新しい領域に着手する前 - Claude が以前のコンテキストを繰り返したり忘れたりし始めたとき - 集中的なセッションでは、おおよそ25〜30分ごと

CLAUDE.md内のカスタム圧縮指示:

# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session

圧縮は会話を守ります。一方、/cd コマンド(Claude Code v2.1.169)はプロンプトキャッシュを守ります。ターンをまたいで蓄積されたキャッシュを壊さずに、セッションの作業ディレクトリを途中で変更できます。60 それ以前は、ディレクトリを変更すると新しいセッションとコールドキャッシュが必要でした。1つのリポジトリから兄弟リポジトリへ移る長時間のセッションでは、これはmonorepoや複数サービスの作業でよくありますが、/cd により高コストなキャッシュ済みプレフィックスを維持したまま、ファイルシステムコンテキストを切り替えられます。

戦略3:セッションの引き継ぎ

複数セッションにまたがるタスクでは、完全な状態を記録する引き継ぎドキュメントを作成します。

## Handoff: Deliberation Infrastructure PRD-7
**Status:** Hook wiring complete, 81 Python unit tests passing
**Files changed:** hooks/post-deliberation.sh, hooks/deliberation-pride-check.sh
**Decision:** Placed post-deliberation in PostToolUse:Task, pride-check in Stop
**Blocked:** Spawn budget model needs inheritance instead of depth increment
**Next:** PRD-8 integration tests in tests/test_deliberation_lib.py

Status/Files/Decision/Blocked/Nextの構造により、後続セッションは最小限のトークンコストで完全なコンテキストを得られます。claude -c(continue)で新しいセッションを開始するか、引き継ぎドキュメントを読めば、すぐに実装へ進めます。15

戦略4:フレッシュコンテキスト反復(The Ralph Loop)

60〜90分を超えるセッションでは、反復ごとに新しい Claude インスタンスを起動します。状態は会話メモリではなく、ファイルシステムを通じて保持されます。各反復でコンテキスト予算をすべて利用できます。16

Iteration 1: [fresh context] -> writes code, creates files, updates state
Iteration 2: [fresh context] -> reads state from disk, continues
Iteration 3: [fresh context] -> reads updated state, continues
...
Iteration N: [fresh context] -> reads final state, verifies criteria

1つの長いセッションと比較してみましょう。

Minute 0:   [fresh context]        -> productive
Minute 30:  [context filling]      -> somewhat productive
Minute 60:  [mostly consumed]      -> degraded
Minute 90:  [compaction pending]   -> significantly degraded
Minute 120: [compressed, lossy]    -> errors accumulate

反復ごとにフレッシュコンテキストを使うアプローチでは、反復ごとに十分な認知リソースを確保する代わりに、状態ファイルの読み取りやgit履歴の確認といったオリエンテーション作業に15〜20%のオーバーヘッドが発生します。16 コストと便益は次のとおりです。60分未満のセッションでは、1つの会話の方が効率的です。90分を超える場合は、オーバーヘッドがあってもフレッシュコンテキストの方が高品質な出力を生みます。

戦略5:管理されたメモリキュレーション(Dreaming)

Anthropic の Claude Managed Agentsでは、2026年5月6日にResearch PreviewとしてDreamingが追加されました。35 Anthropic によると、「Dreamingは、エージェントセッションとメモリストアをレビューし、パターンを抽出してメモリをキュレーションするスケジュール済みプロセスです。これにより、エージェントは時間とともに改善されます」。35

Dreamingはクリティカルパスではなく、セッション間にバックグラウンドで実行されます。ファイルシステムをメモリとして使うパターンを置き換えるのではなく、補完します。MEMORY.md ファイルは引き続き基盤となる面であり、DreamingはManaged Agentsのメモリストアにキュレーション済みのメモリエントリを書き込みます。エージェントはセッション開始時にこれを読み取ります。自己ホスト型のファイルシステム状態と管理側のキュレーションを組み合わせるharnessでは、この2つのパターンを併用できます。

ファイルシステムメモリ Dreaming(Managed)
メモリの保存場所 バージョン管理された自分のリポジトリ Anthropic 管理のメモリストア
更新タイミング 手動またはhooks経由でエントリを書き込む セッション間のバックグラウンドプロセス
記録する内容 フラグを付けた決定、エラー、パターン セッション履歴から抽出されたパターン
最適な用途 プロジェクト固有の組織的知識 手作業では見落とすセッション横断のパターン発見

DreamingはResearch Previewのため、動作が変更される可能性があります。上記で説明したセッション引き継ぎとCLAUDE.mdのパターンは、自己ホスト型harnessにおける信頼できるメモリメカニズムであり続けます。

アンチパターン

10行だけ必要なのにファイル全体を読むこと。 2,000行のファイルを1つ読み込むだけで、15,000〜20,000トークンを消費します。行オフセットを使いましょう。Read file.py offset=100 limit=20 を使えば、そのコストの大部分を節約できます。15

冗長なエラー出力をコンテキストに残すこと。 バグをデバッグした後、コンテキストには失敗した反復による40件以上のスタックトレースが残っています。バグ修正後に /compact を1回実行すれば、その不要な負荷を解放できます。

毎回のセッション開始時にすべてのファイルを読むこと。 Claude Code のglobおよびgrepツールに、必要に応じて関連ファイルを見つけさせてください。不要な事前読み込みを避け、100,000トークン以上を節約できます。15


Subagent パターン

subagents は、複雑なタスクを独立して処理する専用の Claude インスタンスです。ほとんどはクリーンなコンテキスト(メインの会話による汚染がない状態)で起動します。ただし、以下の fork タイプは例外で、意図的にすべてを継承します。指定されたツールで動作し、結果を要約として返します。調査結果によってメインの会話が肥大化することはなく、結論だけが返されます。5

組み込みの Subagent タイプ

タイプ モデル モード ツール 用途
Explore セッションモデルを継承し、上限は Opus(v2.1.198。それ以前は常に Haiku) 読み取り専用 Glob, Grep, Read, safe bash コードベースの調査、ファイルの検索
General-purpose 継承 完全な読み書き 利用可能なすべて 複雑な調査と変更
Plan 継承(または Opus) 読み取り専用 Read, Glob, Grep, Bash 実行前の計画
Fork 常に親と同じモデル 完全な読み書き メインセッションと同じ 会話全体を必要とする作業。履歴、システムプロンプト、ツール、プロンプトキャッシュのすべてを継承する一方、独自のツール呼び出しはメインのコンテキストに入りません。v2.1.232以降、対話型セッションではデフォルトで有効ですが、-p と SDK では無効です88

カスタム Subagents の作成

.claude/agents/(プロジェクト)または ~/.claude/agents/(個人)で subagents を定義します。

---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
  changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

You are a senior security engineer reviewing code for vulnerabilities.

When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps

Focus on actionable security findings, not style issues.

Subagent の設定フィールド

フィールド 必須 目的
name はい 一意の識別子(小文字とハイフン)
description はい 呼び出すタイミング(自動委任を促すには「PROACTIVELY」を含めます)
tools いいえ カンマ区切り。省略するとすべてのツールを継承します。生成可能なエージェントを制限する Agent(agent_type) に対応しています
disallowedTools いいえ 拒否するツール。継承または指定されたリストから除外されます。v2.1.178以降、MCP のサーバーレベル指定(mcp__servermcp__server__*mcp__*)も正しく照合されます。それ以前のバージョンでは暗黙に無視されていたため、MCP サーバーをブロックするための拒否ルールが機能していませんでした。63
model いいえ sonnetopushaikuinherit(デフォルト:inherit
permissionMode いいえ default(v2.1.200以降、CLI/IDEでは「Manual」と表示されます。設定値は変わらず、manual もエイリアスとして使用できます)、acceptEditsdelegatedontAskbypassPermissionsplan。v2.1.212以降、Task tool の呼び出しごとの mode パラメーターは非推奨です。subagents は親セッションの権限モードを継承し、この frontmatter フィールドがエージェントごとの上書き設定となります69
maxTurns いいえ subagent が停止するまでの agentic ターンの最大数
memory いいえ 永続メモリのスコープ:userprojectlocal
skills いいえ 起動時に skill の内容を subagent のコンテキストへ自動読み込みします。v2.1.133以降、subagents は親セッションと同様に、Skill tool を介してプロジェクト、ユーザー、プラグインの skills も検出します。それ以前のバージョンでは、これらが subagent のコンテキストから暗黙に除外されていました。39
hooks いいえ この subagent の実行に限定されたライフサイクル hooks
background いいえ バックグラウンドタスクとして強制実行します。v2.1.198以降、subagents はデフォルトでバックグラウンド実行されます。リードセッションは作業を続け、完了時に通知されます。そのため現在は、バックグラウンド実行を有効にする設定ではなく、その動作を明示的に固定する設定です
isolation いいえ 分離された git worktree のコピーを使用するには worktree に設定します

Worktree による分離

subagents は一時的な git worktree 内で動作でき、リポジトリの完全に分離されたコピーを利用できます。5

---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---

You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.

コードベースを破損させる可能性がある実験的な作業には、worktree による分離が欠かせません。

分離は、その境界が実際に守られてこそ分離です。 Claude Code v2.1.210では、worktree で分離された subagents がメインのチェックアウトを変更できてしまう不具合が修正されました。これは、まさにこの仕組みが防ぐために存在する障害です。69 isolation: worktree を単なる利便性ではなく安全境界として使用する場合は、v2.1.210を最低要件としてください。一方、同時に行われた権限の変更には逆方向の影響があります。v2.1.211以降、「always allow」ルールは worktree をまたいでリポジトリルートに永続化されるため、ある worktree 内で承認したルールは同じリポジトリの兄弟 worktree にも適用されます。69 これは並列 worktree エージェントにとって適切な使い勝手ですが、使い捨ての実験中に与えた許可が実験終了後も残ることを意味します。目の前の worktree だけでなく、リポジトリ全体を念頭に置いて許可してください。

v2.1.216では仕上げとなる対応が行われ、worktree による分離が不具合修正の段階から、強制力のある仕組みへと進化しました。74 v2.1.210の修正により、worktree の subagents が通常の git 呼び出しを通じてメインのチェックアウトを変更することは防止されました。しかし git には、git -C <path>--git-dirGIT_DIR/GIT_WORK_TREE 環境変数という明示的なリダイレクト手段があり、worktree で分離された subagent でも、これらを共有チェックアウトへ向けることができました。現在は、こうした抜け道もすべて塞がれています。同じリリースでは、worktree セッションが別プロジェクトの残存 worktree に入ってしまうことがある問題、.claude にプロジェクト外の対象を指すシンボリックリンクを配置すると workflow やスケジュールタスクの書き込みがそのリンクをたどってしまう問題も修正され、/rewind はシンボリックリンクとハードリンクの横断を拒否するようになりました。4つの修正に共通する原則は同じです。分離境界は、デフォルトの動作に対してだけでなく、git 環境変数による上書きやシンボリックリンクの設置といった意図的なリダイレクトに対しても維持されなければなりません。harness における isolation: worktree が利便性ではなく安全境界であるなら、新たな最低要件はv2.1.216です。

並列 Subagents

互いに連携する必要がない独立した調査タスクには、並列 subagents を使用します。5

> Have three explore agents search in parallel:
> 1. Authentication code
> 2. Database models
> 3. API routes

各エージェントは独自のコンテキストウィンドウで動作し、関連するコードを見つけ、要約を返します。メインのコンテキストはクリーンなまま保たれます。

再帰ガード

生成数に制限がなければ、エージェントが別のエージェントへ委任し、そのエージェントがさらに委任する連鎖が起きます。そのたびにコンテキストが失われ、トークンが消費されます。再帰ガードパターンでは、予算を強制します。16

#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"

MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12

# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)

if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
    echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
    exit 2
fi

# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

重要な教訓: 深さの制限だけでなく、生成予算を使用してください。深さベースの制限は親子関係の連鎖を追跡します(深さ3でブロック)が、幅を捉えられません。深さ1に23個のエージェントがいても、あくまで「深さ1」です。生成予算では、親ごとにアクティブな子の総数を追跡し、設定可能な最大値で制限します。予算モデルは、代替指標(ネスト階層が多すぎること)ではなく、実際の障害モード(エージェント総数が多すぎること)に対応します。7

ネスト深度のデフォルトは3回変更されています。これを前提に構築しないでください。 Claude Code v2.1.172(2026年6月10日)では、sub-agents が独自の sub-agents を生成できるようになり、最大5階層までネストできるようになりました。それ以前の委任は、実質的に1階層まででした。62 この仕様はv2.1.172からv2.1.216まで続きました。v2.1.217(2026年7月21日)では1へ引き下げられ、ネストした生成がデフォルトで無効になりました。その後、v2.1.219(2026年7月24日)では中間に落ち着きました。「Subagents はデフォルトで深さ3までネストした subagents を生成できるようになりました(以前は1)。ネストを無効にするには CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 を設定してください」とされています。84 5、1、3と変わり、最後の2回は3日間で変更されました。

ここで重要なのは、どの数値が正しいかではありません。プラットフォームが適切なデフォルトをまだ模索しているということです。そのため、harness が「出荷時の値」をそのまま継承するのは適切ではありません。ネスト深度は明示的な予算項目として扱ってください。CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH をアーキテクチャが実際に必要とする深さに設定します。ほとんどのオーケストレーションでは1または2で十分です。こうすれば、アップグレードによってエージェント群の委任深度が暗黙に変わることはありません。一連の変更があっても、根本的な主張は変わりません。エージェントからエージェントへ委任する連鎖は、結果を生み出す以上の速さでコンテキストとトークンを消費します。深さは積極的に利用する能力ではなく、予算化すべきリスクです。上記の再帰ガードがあれば、次にデフォルトがどちらへ変化しても、深いツリーが数百個のアクティブなエージェントへ扇状に拡大するのを防げます。また、次回のリリース後も想定どおりの意味を保つ深度の数値は、自分で設定した制限だけです。

Auto mode では、生成前に審査が行われるようになりました。 Claude Code v2.1.178では、これに対応するガバナンス上の穴が塞がれました。auto mode では、subagent の生成後にアクションを開始した時点だけでなく、生成されるに権限分類器による評価が行われます。63 以前は、親セッションでブロックされるはずのアクションを要求するために subagent を生成できました。つまり、生成自体が迂回経路になっていたのです。生成時に審査することで、再帰ガードと権限モデルがようやく連動します。ポリシーで禁止されたアクションを実行するために、子をロンダリングの中継地点として利用することはできません。

プラットフォームにネイティブの生成予算が搭載されました。 Claude Code v2.1.212(2026年7月)では、暴走ループに対するファーストパーティのガードレールが追加されました。セッションあたりの subagent 生成数はデフォルトで200に制限され(CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION で調整でき、/clear でカウンターがリセットされます)、WebSearch もセッションあたり200回に制限されます(CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION)。69 このセクションでv1.0からユーザー側のスクリプトとして説明してきた生成予算パターンが、プラットフォームから提供されるようになりました。これは、深度モデルよりも予算モデルが妥当であることの裏付けです。ただし、数値の設定には注意が必要です。200回という生成数は、上記の設定にある12エージェントの予算より1桁多い値です。ネイティブの上限は、真に暴走したループに対するヒューズであり、アーキテクチャに合わせて調整された予算ではありません。親ごとの予算、深度の追跡、オーケストレーションが実際に行うべきことに合わせた制限には、ユーザー側のガードを引き続き使用してください。その防御をすり抜けたものは、プラットフォームの上限で捕捉します。

ファーストパーティのガードレールは、4つの軸をカバーするようになりました。 そのうち3つは、このセクションのユーザー側ガードが追跡する対象をそのまま補完します。セッションあたりの総生成数(v2.1.212、上限200、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION)、ネスト深度(CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH、現在のデフォルトは3であり、明らかに不安定)、同時実行数(v2.1.217、デフォルト20、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS。1つのメッセージから無制限にバックグラウンドエージェントを扇状展開できなくなりました)です。7884 v2.1.219では、ユーザー側のガードには通常なかった4つ目として、オーケストレーションの幅が追加されました。これは、1つの計画済み workflow に含められるエージェント数です。デフォルトのガイドラインは「エージェント数を15未満に抑えることを目指す」で、任意の設定ファイルから workflowSizeGuideline を使って設定できます(後述の Workflow Tool セクションで説明します)。生成予算パターンには、それが対象として設計されたすべての軸に加え、対象外だった1つの軸についてもプラットフォームの補完が入りました。

数値設定に関する注意は引き続き当てはまりますが、軸によって事情が異なります。200回の生成と20個の同時実行エージェントはヒューズです。上記設定の12エージェントという deliberation 予算より1桁大きく、アーキテクチャを形作るためではなく、暴走ループを捕捉するための規模です。幅のガイドラインは、現実的な予算と同じ水準にある初のネイティブな数値です。workflow あたり15エージェントという値は、このガイドの12という値に並ぶほど近いため、プラットフォームのデフォルトを採用しても支障はありません。異なる値を選ぶなら、そこには具体的な理由が必要です。3つのヒューズには根拠を説明できる値を設定し、幅のガイドラインには意図したオーケストレーションの形を反映してください。

Agent Teams(Research Preview)

Agent Teams は、独立して作業し、共有 mailbox と task list を介して通信し、互いの調査結果に異議を唱えることもできる複数の Claude Code インスタンスを連携させます。5

コンポーネント 役割
Team lead チームを作成し、teammates を生成して作業を調整するメインセッション
Teammates 割り当てられたタスクに取り組む個別の Claude Code インスタンス
Task list teammates が引き受けて完了する共有作業項目(ファイルロックあり)
Mailbox エージェント間通信用のメッセージングシステム

有効化:export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Agent Teams と subagents の使い分け:

Subagents Agent Teams
通信 結果を返すだけ Teammates が互いに直接メッセージを送信
調整 メインエージェントがすべての作業を管理 共有 task list による自律的な調整
最適な用途 結果だけが重要な限定的タスク 議論と共同作業が必要な複雑な作業
トークンコスト 低い 高い(各 teammate が個別のコンテキストウィンドウを使用)

Agent View と Goal Loops(2026年5月)

Claude Code v2.1.139では、claude agents で起動し、実行中、ブロック中、完了済みの Claude Code セッションを1つの画面に表示する research-preview インターフェース、Agent View が追加されました。4243 公式ドキュメントでは、多数のセッションをディスパッチして管理し、各セッションの動作を確認し、オペレーターの入力が必要なセッションを特定するための手段と説明されています。43 これにより、最終的な要約だけでは得られない、マルチエージェント作業の運用ビューが提供されます。

subagent やチームのパターンを本格導入するときは、Agent View を使用してください。ブロックされているセッション、まだ実行中のセッション、作業配分が意図したアーキテクチャと一致しているかを確認できます。ただし、これを品質の証明として扱ってはいけません。Agent View が提供するのは可観測性です。作業が健全かどうかを判断するのは、引き続きテスト、レビューゲート、evidence reports です。

同じリリースでは /goal も追加されました。これは完了条件を設定し、条件が満たされるまで Claude が複数ターンにわたって継続できる機能で、対話型、-p、Remote Control で利用できます。42 /goal は、決定論的なゲートの代替ではなく、セッション単位の完了ループとして扱ってください。エージェントを目標に集中させ続けるには有用ですが、失敗時に処理をブロックする必要があるテスト、引用チェック、デプロイチェック、セキュリティ hooks は、引き続きコマンドやスクリプトで実装すべきです。

Workflow Tool(v2.1.147以降)

Claude Code の動的 workflows は、正式提供され、デフォルトで利用可能な機能です。v2.1.154以降、バックグラウンドで数十から数百のエージェントをオーケストレーションし、/workflows で監視できます。また、「Dynamic workflow size」の /config コントロール(v2.1.202)と、デフォルトのガイドラインが medium(特に指示がない限り、エージェント数を15未満に抑えることを目指す)に設定された workflowSizeGuideline 設定キー(v2.1.219)が用意されています。この機能は、その1つ前のv2.1.147で、CLAUDE_CODE_WORKFLOWS=1 の背後にあるデフォルト無効の Workflow tool として初登場しました。このフラグが必要だった時代はすでに過去ですが、そこで示されたアーキテクチャ上の意義は変わりません。52 以前はカスタムのディスパッチスクリプト、mailbox の状態、subagent の連携規約を必要としていたフローに対し、Claude Code がファーストパーティのオーケストレーションプリミティブを提供します。

周辺の harness を削除してはいけません。Workflow は実行を構造化できますが、安全モデルの代わりにはなりません。PreToolUse と PostToolUse hooks はブロック層として維持し、際限のない幅を防ぐために生成予算または workflow ステップ予算を残し、ファイルシステムの状態を監査可能に保ち、最終的な evidence reports をモデルの自己評価から独立させてください。実際の使い分けとしては、オーケストレーションの形には Workflow を使用し、真偽の判断には hooks、テスト、レビューゲートを使用します。

動的 workflows には、幅に関する方針が組み込まれるようになりました(v2.1.219)。 動的 workflows のサイズガイドラインはデフォルトで medium、つまり「エージェント数を15未満に抑えることを目指す」です。Dynamic workflow size の /config では、ほかのサイズや無制限のオプションも利用でき、実行中の workflow のステータス行には現在のガイドラインが表示されます。84 この数値は強制ではなく助言です。幅の広い計画をブロックするのではなく、プランナーを誘導します。設定する価値があるのは、その提供方法にあります。新しい workflowSizeGuideline 設定キーは、managed settings やプロジェクト設定を含む任意の設定ファイルから指定でき、v0.3.219以降は TypeScript SDK の設定型にも含まれています。そのため、オーケストレーションの幅を、各オペレーターが個別に試行錯誤するものではなく、チームや組織で標準化できるようになります。85 コードベースの作業が実際にどのように分解されるかを反映するため、プロジェクトレベルで設定してください。運用上の注意点が2つあります。設定ファイルによって値が指定されている間は、/config の行が非表示になります。これは正しい動作ですが、理由を知らなければ設定項目が欠けているように見えます。また、このガイドラインは実行を制限するのではなくプランナーを誘導するものなので、安全性ではなくの項目に属します。幅の暴走を止めるのは、依然として生成上限の役目です。

押さえておくべき捉え方は、これがファーストパーティのガードレールにおける4つ目の軸、つまり生成数、ネスト深度、同時実行数に並ぶオーケストレーションの幅だということです。また、暴走時のヒューズではなく、現実的な作業規模として Anthropic が調整した初の軸でもあります。workflow あたり15エージェントという値は、このガイドがv1.0から採用している12エージェントの deliberation 予算と同じ桁です。プラットフォームのデフォルトと独自の予算が別々の方向から収束したなら、この種の数値として得られる独立した裏付けに最も近いものだと言えるでしょう。

Session Forking と自動バックグラウンド化された MCP(2026年7月)

Claude Code v2.1.212では、2つのオーケストレーションプリミティブが再設計されました。69 /fork は、現在の会話状態から新しいバックグラウンドセッションを作成するようになりました。fork された側は独立して実行され、元のセッションも作業を続けます。従来のセッション内での動作は、/subtask へ改名されました。この違いは、オーケストレーションを設計するうえで重要です。/subtask は1つのセッションのライフサイクル内で行う限定的な寄り道ですが、/fork は完全なコンテキストを継承する並列バックグラウンドセッションを低コストで作成する方法です。subagent よりも Ralph-loop の生成に近いものです。harness のスクリプトが /fork はセッション内にとどまると想定していた場合、現在はバックグラウンド作業をディスパッチすることになります。

同じリリースでは、遅い MCP 呼び出しも自動的にバックグラウンド化されます。実行に2分以上かかる MCP tool の呼び出しは、自動的にバックグラウンド実行へ移行します(しきい値は CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS で調整できます)。69 遅い MCP サーバーが agentic loop を停止させることはなくなりました。一方で、「ツールが結果を返したこと」と「ターンが続行したこと」が同じイベントではなくなるため、MCP の同期完了を前提としていた hooks やスクリプトでは、ターン境界ではなくツールの結果を基準に処理してください。

ヘッドレスなオーケストレーション向けには、v2.1.211で --forward-subagent-text(環境変数:CLAUDE_CODE_FORWARD_SUBAGENT_TEXT)が追加されました。これにより、subagent のアシスタントテキストが stream-json 出力へ転送されます。69 親のストリームを受信するコーディネータープロセスは、トランスクリプトをポーリングしたり最終的な要約を待ったりせず、subagent の進捗を直接観測できるようになりました。これは、デフォルトでバックグラウンド実行される subagents を可観測性の面から補完します。v2.1.219では、この機能が第1階層より先にも拡張されました。深さ2以降で生成された subagents も転送ストリームに表示され、生成元である Agent の tool_use id によって識別されます。84 実装で基盤とすべきなのは、このキーです。ネストが再びデフォルトで有効になったため、subagent のテキストをフラットに並べたストリームでは曖昧さが生じます。この id があれば、どの親がどの子を生成したかをコーディネーターが把握でき、委任ツリーを推測するのではなくストリームから再構築できます。ストリームの受信処理が1階層の subagents を前提に書かれている場合、存在を認識していなかったエージェントのテキストも表示されるようになります。転送されたすべての行が直接の子に属すると想定せず、生成元の tool_use id でグループ化してください。


マルチエージェント・オーケストレーション

単一エージェントのAIシステムには構造的な盲点があります。自らの前提に異議を唱えられないことです。7 マルチエージェントによる熟議では、決定が確定する前に複数の観点から独立した評価を強制します。

クロスツール・オーケストレーション(2026年4月): Googleは4月7日に Scion をオープンソース化しました。これは Claude Code、Gemini CLI、およびその他の「ディープエージェント」を、それぞれ分離されたコンテナ、git worktree、認証情報を持つ並行プロセスとして実行するマルチエージェント・ハイパーバイザーです。ローカル、ハブ、Kubernetesで実行できます。明示された理念は「制約より分離」です。エージェントは、プロンプトではなくインフラストラクチャ層で強制される境界の内側で、高い自律性を持って動作します。25 これは、異なるツールベンダー間 にサブエージェント分離の考え方を直接拡張するものです。ワークフローが Claude とOpenAIモデルにまたがる場合、Scionはエージェントごとのworktreeと認証情報の分離を備えた、初めての実用的なクロスツール・サブエージェントの参照実装です。

議論は万能薬ではありません: M3MAD-Benchの研究クラスター(2026年初頭)は、マルチエージェントの議論には頭打ちがあり、誤解を招く合意によって損なわれる可能性があることを示しました。ほかのエージェントが誤った答えを自信を持って主張すると、妥当な議論が負けてしまいます。26 Tool-MADでは、各エージェントに異種のツールアクセスを与え、判定段階でFaithfulness/Relevanceスコアを使用することで、これを改善します。議論形式のオーケストレーションを構築する場合は、エージェントごとの(a)ツールの多様性と、(b)エージェント数が増えれば回答も良くなると仮定するのではなく、定量的な判定スコアリングに投資してください。

管理型マルチエージェント・オーケストレーションとOutcomes(パブリックベータ)

以下で説明する熟議インフラストラクチャを自分で構築したくない場合は、Multiagent Orchestration が2026年5月6日に Claude Managed Agentsでパブリックベータになりました。35 Anthropic によると、「1つのエージェントでは十分に対応できないほど作業量が多い場合、マルチエージェント・オーケストレーションにより、リードエージェントは作業を複数の部分に分け、それぞれ独自のモデル、プロンプト、ツールを持つ専門家へ委任できます。」35 専門家は「共有ファイルシステム上で並行して作業し、リードエージェントの全体コンテキストに貢献します」。35

トレーシングは標準で含まれています。Anthropic によると、「Claude Consoleでは、どのエージェントが何を、どの順序で、なぜ行ったのか、すべてのステップをトレースできます。これにより、タスクがどのように委任・実行されたかを完全に可視化できます。」35

対応するパブリックベータ機能が Outcomes です。Anthropic によると、「成功の姿を記述したルーブリックを作成すると、エージェントはそれに向けて作業します。別の評価者が独自のコンテキストウィンドウで基準に照らして出力を評価するため、エージェントの推論の影響を受けません。」35 これは、このセクションの後半で説明する2ゲート検証パターンのマネージドサービス版です。ルーブリックが手書きのゲートに、独立した評価者がコンセンサス検証器に相当します。

セルフホストの熟議(このセクション) 管理型Multiagent + Outcomes
専門家のルーティング spawnロジックを記述します リードエージェントが作業を複数の部分に分けます
検証 2ゲートhooks + コンセンサス・スコアリング 独立したコンテキストでのルーブリック + 評価者
トレーシング 自ら計装します Claude Console
最適な用途 完全な制御または特定のツール構成が必要なパターン 検証ルーブリックが契約となる標準的な委任パターン
価格 トークン + harnessコストのみ 標準トークンに加え、Managed Agentsのセッション時間料金(4月8日のローンチ基準。23を参照)

検証を独自のhook surface(PreToolUseによるブロック、終了コードのセマンティクス、カスタムdispatcher)と統合する必要がある場合、またはharnessを外部依存なしで実行しなければならない場合は、セルフホストの熟議が引き続き適切な選択です。標準的な委任とルーブリック評価こそが実際に必要な契約である場合は、管理型Multiagentが適しています。

最小限で実用的な熟議

まずは2つのエージェントと、1つのルールから始めましょう。エージェントは互いの作業を見る前に、独立して評価しなければなりません。7

Decision arrives
  |
  v
Confidence check: is this risky, ambiguous, or irreversible?
  |
  +-- NO  -> Single agent decides (normal flow)
  |
  +-- YES -> Spawn 2 agents with different system prompts
             Agent A: "Argue FOR this approach"
             Agent B: "Argue AGAINST this approach"
             |
             v
             Compare findings
             |
             +-- Agreement with different reasoning -> Proceed
             +-- Genuine disagreement -> Investigate the conflict
             +-- Agreement with same reasoning -> Suspect herding

このパターンで価値の80%をカバーできます。それ以外はすべて段階的な改善です。

信頼度トリガー

すべてのタスクに熟議が必要なわけではありません。信頼度スコアリング・モジュールは、次の4つの次元を評価します。17

  1. 曖昧さ - クエリには複数の妥当な解釈がありますか?
  2. ドメインの複雑さ - 専門知識が必要ですか?
  3. 重要度 - この決定は取り消し可能ですか?
  4. コンテキスト依存性 - より広いシステムを理解する必要がありますか?

スコアは3つのレベルに対応します。

レベル しきい値 アクション
HIGH 0.85+ 熟議なしで進めます
MEDIUM 0.70-0.84 信頼度メモを記録して進めます
LOW 0.70未満 完全なマルチエージェント熟議をトリガーします

しきい値はタスクタイプに応じて適応します。セキュリティ上の決定には0.85の合意が必要です。ドキュメントの変更は0.50で十分です。これにより、単純なタスクの過剰設計を防ぎつつ、リスクの高い決定には精査を行えます。7

状態機械

前の段階によってそれぞれがゲートされる、7つのフェーズです。7

IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
                                                                    |
                                                              (or FAILED)

RESEARCH: 独立したエージェントがトピックを調査します。各エージェントには異なるペルソナ(Technical Architect、Security Analyst、Performance Engineerなど)を与えます。コンテキストの分離により、調査中はエージェントが互いの調査結果を見られません。

DELIBERATION: エージェントはすべての調査結果を確認し、代替案を生成します。Debateエージェントが競合を特定します。Synthesisエージェントは、矛盾しない調査結果を統合します。

RANKING: 各エージェントは、提案されたすべてのアプローチを5つの重み付き次元で評価します。

次元 重み
影響 0.25
品質 0.25
実現可能性 0.20
再利用性 0.15
リスク 0.15

2ゲート検証アーキテクチャ

2つの検証ゲートが、異なる段階で問題を捉えます。7

ゲート1:コンセンサス検証(PostToolUse hook)。各熟議エージェントの完了直後に実行します。 1. フェーズが少なくともRANKINGに到達していること 2. 最低2つのエージェントが完了していること(設定可能) 3. コンセンサス・スコアがタスク適応型のしきい値を満たしていること 4. いずれかのエージェントが反対した場合、懸念事項が記録されていること

ゲート2:Pride Check(Stop hook)。セッションを終了できる前に実行します。 1. 多様な手法:複数の固有ペルソナが含まれていること 2. 矛盾の透明性:反対意見に理由が記録されていること 3. 複雑さの処理:少なくとも2つの代替案が生成されていること 4. コンセンサスの信頼度:強い(0.85超)または中程度(0.70-0.84)に分類されていること 5. 改善の証拠:最終的な信頼度が初期信頼度を上回っていること

ライフサイクル上の異なる時点に配置した2つのhookは、失敗が実際に起こる形に対応します。即時に起こる失敗(低いスコア)もあれば、徐々に現れる失敗(多様性の低さ、反対意見の記録漏れ)もあります。7

なぜ合意は危険なのか

Charlan Nemethは、1986年から2018年の著書 In Defense of Troublemakers に至るまで、少数派による反対意見を研究しました。反対意見を持つ人がいるグループは、すぐに合意へ達するグループよりも良い決定を下します。反対者が正しい必要はありません。意見の不一致という行為そのものが、多数派に対して、本来なら見落とす前提を検討させるのです。18

Wuらは、LLM エージェントが本当に議論できるのかを検証し、不一致を促す構造的なインセンティブがなければ、正確性にかかわらず、最も自信がありそうな最初の回答へとエージェントが収束することを発見しました。19 Liangらは、根本原因を「Degeneration-of-Thought」と特定しました。LLM がある立場への確信を持つと、自己反省では新しい反論を生成できなくなります。そのため、マルチエージェント評価は構造的に必要です。20

独立性が重要なデザイン制約です。同じデプロイ戦略を評価する2つのエージェントは、互いの調査結果を見られる場合、0.45と0.48のスコアを出しました。同じエージェントでも、互いを見られない場合は0.45と0.72でした。0.48と0.72の差が、群集心理のコストです。7

見せかけの合意を検出する

同調性検出モジュールは、真の評価をせずにエージェントが合意していることを示すパターンを追跡します。7

スコアの集中: 10点満点で、すべてのエージェントのスコアが0.3点以内に収まる場合、独立した評価ではなく共有コンテキストによる汚染を示します。認証リファクタリングを評価する5つのエージェントが、セキュリティリスクをすべて7.1から7.4の間で評価したとき、新しいコンテキスト分離で再実行すると、スコアは5.8-8.9に広がりました。

定型的な反対意見: エージェントが独立した異議を生成するのではなく、互いの懸念表現をコピーしている状態です。

少数派の観点の欠如: 優先順位が対立するペルソナからの全会一致の承認です(Security AnalystとPerformance Engineerがすべてについて一致することはほとんどありません)。

同調性検出器は、明白なケース、すなわちエージェントがあまりにも早く収束する熟議のおよそ10-15%を捉えます。残りの85-90%については、コンセンサスとpride checkのゲートが十分な検証を提供します。

熟議でうまくいかなかったこと

自由形式の議論ラウンド。 データベースのインデックス作成に関する議論で、3ラウンドのテキストの往復により、7,500トークンの議論が発生しました。ラウンド1では本物の不一致がありました。ラウンド2では立場が繰り返されました。ラウンド3では同じ議論が別の言葉で繰り返されました。構造化された次元スコアリングに置き換えることで、ランキング品質を改善しながらコストを60%削減しました。7

単一の検証ゲート。 最初の実装では、セッション終了時に1つの検証hookを実行していました。エージェントは0.52のコンセンサス・スコア(しきい値未満)で熟議を完了し、その後20分間、無関係なタスクを続けてから、セッション終了hookが失敗を検出しました。2つのゲート(タスク完了時に1つ、セッション終了時に1つ)に分割することで、同じ問題を異なるライフサイクル時点で捉えられるようになりました。7

熟議のコスト

各調査エージェントは、およそ5,000トークンのコンテキストを処理し、2,000-3,000トークンの調査結果を生成します。3エージェントの場合、決定あたり15,000-24,000トークンが追加されます。10エージェントの場合は、およそ50,000-80,000トークンです。7

現在のOpus 5の価格(MTokあたり$5/$25)では、3エージェントによる熟議のコストはおよそ$0.23-0.30です。10エージェントによる熟議では$0.75-1.00です。システムはおよそ10%の決定で熟議をトリガーするため、すべての決定における償却コストはセッションあたり$0.08-0.10です。(以前の版では、旧来の$15/$75のOpus 4.x価格で算出した、これらの3倍の数値を掲載していました。)その価値があるかは、誤った決定にどれほどのコストがかかるかによります。

熟議すべきとき

熟議する スキップする
セキュリティ・アーキテクチャ ドキュメントの誤字
データベース・スキーマのデザイン 変数名の変更
API 契約の変更 ログメッセージの更新
デプロイ戦略 コメントの言い換え
依存関係のアップグレード テストfixtureの更新

CLAUDE.md の設計

CLAUDE.md は、人間向けの README ではなく、AI agent の運用ポリシーです。21 conventional commits を使用する「理由」を agent が理解する必要はありません。実行すべき正確なコマンドと、何をもって「完了」とするかを把握する必要があります。

優先順位

場所 適用範囲 共有 用途
Enterprise managed settings 組織 全ユーザー 会社の標準
./CLAUDE.md または ./.claude/CLAUDE.md プロジェクト git 経由 チームのコンテキスト
~/.claude/CLAUDE.md ユーザー 全プロジェクト 個人の設定
./CLAUDE.local.md プロジェクトローカル 共有しない 個人用のプロジェクトメモ
.claude/rules/*.md プロジェクトルール git 経由 分類されたポリシー
~/.claude/rules/*.md ユーザールール 全プロジェクト 個人のポリシー

Rules ファイルは自動的に読み込まれ、CLAUDE.md を煩雑にすることなく、構造化されたコンテキストを提供します。6

無視されるもの

次のパターンを記述しても、agent の動作には一貫して目に見える変化が現れません。21

コマンドを含まない説明文。 「クリーンで十分にテストされたコードを重視します」は運用指示ではなく、単なる説明です。実行可能な指示がないため、agent はこれを読んでもテストを書かずにコーディングを進めます。

曖昧な指示。 「データベースのマイグレーションには注意してください」は制約になりません。「マイグレーションを適用する前に alembic check を実行してください。ダウングレード手順がない場合は中止してください」なら制約として機能します。

矛盾する優先事項。 「素早く開発してリリースする」「包括的なテストカバレッジを確保する」「実行時間を5分未満に抑える」「コミットの前に毎回、完全な統合テストを実行する」。agent はこの4つを同時に満たせないため、デフォルトでは検証を省略します。21

強制手段のないスタイルガイド。 「Google Python Style Guide に従ってください」と記載しても、ruff check --select D がなければ、agent には準拠を検証する手段がありません。

効果的な書き方

コマンドを先に示す指示:

## Build and Test Commands
- Install: `pip install -r requirements.txt`
- Lint: `ruff check . --fix`
- Format: `ruff format .`
- Test: `pytest -v --tb=short`
- Type check: `mypy app/ --strict`
- Full verify: `ruff check . && ruff format --check . && pytest -v`

完了条件の定義:

## Definition of Done
A task is complete when ALL of the following pass:
1. `ruff check .` exits 0
2. `pytest -v` exits 0 with no failures
3. `mypy app/ --strict` exits 0
4. Changed files have been staged and committed
5. Commit message follows conventional format: `type(scope): description`

タスク別に整理されたセクション:

## When Writing Code
- Run `ruff check .` after every file change
- Add type hints to all new functions

## When Reviewing Code
- Check for security issues: `bandit -r app/`
- Verify test coverage: `pytest --cov=app --cov-fail-under=80`

## When Releasing
- Update version in `pyproject.toml`
- Run full suite: `pytest -v && ruff check . && mypy app/`

エスカレーションルール:

## When Blocked
- If tests fail after 3 attempts: stop and report the failing test with full output
- If a dependency is missing: check `requirements.txt` first, then ask
- Never: delete files to resolve errors, force push, or skip tests

記述する順序

ゼロから作成する場合は、次の優先順位でセクションを追加してください。21

  1. ビルドおよびテストコマンド(有用な作業を始める前に必要です)
  2. 完了の定義(誤った完了報告を防ぎます)
  3. エスカレーションルール(破壊的な回避策を防ぎます)
  4. タスク別に整理されたセクション(無関係な指示の解析を減らします)
  5. ディレクトリごとの適用範囲(monorepos:サービスごとの指示を分離します)

最初の4つが機能するまでは、スタイルの好みに関する指示を省いてください。

現在では、プラットフォームが CLAUDE.md を監査してくれます。 2026年7月上旬のリリース(v2.1.203〜v2.1.206)以降、/doctor は CLAUDE.md を分析し、コードベース自体からモデルが推測できる内容を削るよう提案します。たとえば、ディレクトリ構成の言い換え、コードにすでに表れているフレームワークの規約、package scripts と重複するコマンド一覧などです。68 これは、このセクションの主張を公式に裏付けるものです。指示にトークンを割く価値があるのは、agent が推測「できない」内容(ポリシー、しきい値、完了条件)を記述するときであり、ディスクから読み取れる内容ではありません。CLAUDE.md が大幅に増えたら /doctor を実行し、削減案を出発点として扱ってください。ただし、「推測可能」と判定された運用ルールでも、単なる説明ではなく不可欠な制約である場合は残しましょう。

ファイルのインポート

CLAUDE.md 内から他のファイルを参照できます。

See @README.md for project overview
Coding standards: @docs/STYLE_GUIDE.md
API documentation: @docs/API.md
Personal preferences: @~/.claude/preferences.md

インポート構文では、相対パス(@docs/file.md)、絶対パス(@/absolute/path.md)、ホームディレクトリ(@~/.claude/file.md)を使用できます。インポートの最大深度は5階層です。6

ツール間での指示の互換性

AGENTS.md は、主要な AI コーディングツールすべてが認識するオープン標準です。21 チームで複数のツールを使用する場合は、AGENTS.md を正規の情報源として記述し、関連するセクションをツール固有のファイルへ反映してください。

ツール ネイティブファイル AGENTS.md を読み込むか
Codex CLI AGENTS.md はい(ネイティブ)
Cursor .cursor/rules はい(ネイティブ)
GitHub Copilot .github/copilot-instructions.md はい(ネイティブ)
Amp AGENTS.md はい(ネイティブ)
Windsurf .windsurfrules はい(ネイティブ)
Claude Code CLAUDE.md いいえ(別形式)

AGENTS.md のパターン(コマンド優先、完了条件の定義、タスク別の整理)は、ツールを問わず、どの指示ファイルでも機能します。内容が徐々に食い違うような指示セットを並行して管理しないでください。信頼できる情報源を1つ作成し、そこから反映しましょう。

Codex との対応に関する注意事項

Codex には主要な harness レイヤーに対応する第一級の機能が揃っていますが、移行はファイルのコピーではなく、パターンの変換として行う必要があります。Codex は作業開始前に AGENTS.md を読み込み、~/.codex のグローバルな指示に、プロジェクトおよびリポジトリ内の階層ごとの指示を重ねます。31 Codex skills も、段階的開示を採用した同じ SKILL.md の考え方を使用します。Codex はまず skill の名前、説明、ファイルパスを確認し、その skill を使用すると判断した場合にのみ全文を読み込みます。32 Codex には、ネイティブ hooks、プラグインに同梱された hooks、managed hooks、MCP のサポート、明示的な subagents ワークフローもあります。3334

Codex v0.138.0〜v0.139.0 では、複雑なワークスペースにおける AGENTS.md の検出が強化されました。読み込みが環境のファイルシステム抽象化を経由するようになり、検出時の走査でも論理パスが維持されます。そのため、ワークスペースがリモートファイルシステムやシンボリックリンクを使用したツリーでも、適切なファイルが選択されます。61 正規の AGENTS.md を信頼できる情報源とし、agent がマウント済み、コンテナ内に展開済み、またはシンボリックリンクされたチェックアウト上で動作する場合には、これが重要です。単純なパス走査では、誤った指示ファイルを選んだり、何も見つけられなかったりするケースだからです。信頼できる1つの AGENTS.md を複数のサービスへ反映する場合、agent が実際に読み込んだファイルと作成したファイルが一致すると信頼するための最低条件として、このバージョンを扱ってください。

続く Codex v0.141.0 では、リモート実行パス自体が強化されました。リモート executor は、認証済みでエンドツーエンド暗号化された Noise-relay channels を介して接続するようになり、コントロールプレーンと executor は、その間にある relay を信頼する必要がなくなりました。また、クロスプラットフォームのリモート実行では executor 固有の作業ディレクトリとシェルが維持され、TLS は企業プロキシ向けの P-521 証明書署名を受け入れます。65 オーケストレーションによって Codex executor をネットワーク境界の外側で動作させる場合、これは信頼済み relay を前提とする構成と、エンドツーエンド暗号化された構成を分ける重要な違いです。リモート executor を使用するあらゆるトポロジーの基準として扱ってください。

2026年7月のリリースを見ると、2つのランタイムが異なる方向から同じ基本要素へ収束していることが分かります。72 Codex v0.143.0 では、MCP ツールがデフォルトで tool search 経由で読み込まれるようになりました。ツールスキーマを最初からコンテキストへ投入せず、必要になった時点で取得します。これは、Claude Code が ToolSearch サーフェスで提供する遅延ツール読み込みと同じパターンであり、MCP ツールが多い場合のコンテキスト肥大化に対する、両ランタイム共通の適切な解決策です。Codex v0.144.0 では、writes app-approval mode が追加されました。読み取り専用の操作は確認なしで実行され、書き込みには承認が必要となります。これは、読み取り専用と自動承認の中間に位置する、まったく新しい権限モードの基本要素です。Claude Code のモード一覧には直接対応するものがありません。最も近いのは plan mode ですが、書き込みごとに確認するのではなく、書き込みを完全にブロックします。同じリリースで、MCP の対話型認証が GA となりました。さらに v0.144.5 では危険なコマンドの検出範囲が拡大され、Claude Code が v2.1.183 と v2.1.208 で導入した破壊的コマンドに対するガードレールと同様の仕組みが実装されました。ランタイムをまたぐ harness の設計で重要なのは、この収束です。ツールの遅延読み込み、段階的な書き込み承認、意図レベルでの危険なコマンドのブロックは、ベンダーごとの差別化要素ではなく、当然備えるべき機能になりつつあります。

Codex v0.145.0 では、2つの側面でこの収束がさらに進みました。76 オプトインの multi-agent V2 サーフェスが安定化し、sub-agent のモデル、推論レベル、同時実行数を設定できるようになりました。以前削除された agent ロールも復元されています。これは、.claude/agents/ の frontmatter で subagent ごとにモデルと effort を設定する仕組みに対する、Codex 側の回答です。また、/import は harness 間の完全な移行機能へと発展しました。v0.140.0 で導入された Claude Code の設定インポートに加え、Claude Code と Cursor の両方から設定を移行できるようになりました。MCP サーバー、プラグイン、セッション、コマンド、プロジェクト固有のメモリも対象です。両方のランタイムを運用するチームにとって、一方向の移行コストは低下し続けています。Claude Code 上で構築した harness レイヤー(サーバー、コマンドとしての skills、メモリ)は、ベンダーロックインではなく、持ち運び可能な状態へと変わりつつあります。

実際の対応関係は次のとおりです。

Claude Code harness レイヤー Codex での対応機能 移行ルール
CLAUDE.md / .claude/rules/ AGENTS.md / 階層ごとの AGENTS.override.md コマンドと完了条件は正規の情報源に集約し、ディレクトリごとに適用範囲が実際に異なる場合のみ分割する
.claude/skills/<name>/SKILL.md .agents/skills/<name>/SKILL.md またはプラグインの skill 再利用可能なワークフローを移植しつつ、Codex の起動条件の表現とコンテキスト予算に合わせて説明を書き直す
.claude/settings.json hooks Codex config.toml、プラグインの hooks、または managed requirements hooks まず決定論的な gates を移植し、実際のツールイベントで各 hook をテストしてから広範囲に有効化する
.claude/agents/*.md ~/.codex/agents/*.toml.codex/agents/*.toml、または組み込みの worker / explorer 繰り返し価値を生む agents のみを移植する。Codex subagents は明示的に使用するため、明示的な委任を優先する
プラグイン Codex プラグイン ローカルの hooks と skills を検証した後、配布単位としてプラグインを使用する

重要な違いは、Claude subagents は説明に基づいて自動的に選択される可能性がある一方、Codex では現在、subagent ワークフローを明示的に実行するものとして文書化している点です。そのため、Codex で常時適用する harness の動作には、skills と hooks をデフォルトとして使用するのが適切です。subagents は、意図的な並列作業、レビュー、探索に使用します。

指示をテストする

agent が指示を実際に読み、それに従っていることを検証してください。

# Check active instructions
claude --print "What instructions are you following for this project?"

# Verify specific rules are active
claude --print "What is your definition of done?"

決定的なテスト: agent にビルドコマンドを説明させてください。そのまま正確に再現できなければ、指示が冗長すぎる(コンテキストから内容が押し出されている)、曖昧すぎる(実行可能な指示を抽出できない)、または検出されていないかのいずれかです。2,500件のリポジトリを対象とした GitHub の分析では、ほとんどの失敗は曖昧さが原因だと判明しています。21


本番運用パターン

Opus 4.7の長期実行パターン(2026年4月)

Claude Opus 4.7(2026年4月16日)には、harnessが防御すべき対象を変える具体的な機能が搭載されました。29

  • ツール障害への耐性: Opus 4.7は、Opus 4.6ではセッションが停止していたツール障害後も処理を続行します。subagentコード内の防御的なリトライラッパーは減らせますが、なくすことはできません。hookレベルのガードは維持し、プロンプト内の「ツールが失敗したら3回再試行する」という足場は削減してください。
  • xhigh努力階層: Opus 4.7と同時に導入され、現在のOpusモデルでサポートされています(Opus 4.8ではv2.1.154で/effort xhighとして提供され、Opus 5にも継承されています)。highmaxの中間に位置します。コーディングおよびagenticワークロードの推奨デフォルトです。長時間実行するsubagentでは、xhighはトークンコストの増加を抑えながらhighを大きく上回ります。単発の難しい推論には引き続きmaxが適していますが、継続的なタスクにはxhighの方が優れています。
  • トークン予算の上限: output_config.task_budget(ベータヘッダーtask-budgets-2026-03-13)により、agentの実行ごとに設定できます。モデルは残り時間のカウントダウンを把握し、予期せずトークン切れになる代わりに予算に合わせて作業範囲を適切に調整します。短いプロンプトの品質を犠牲にせず、予測可能なトークン消費にしたいagenticループで使用してください。
  • 暗黙的なニーズの認識: ユーザーの文字どおりの依頼だけでは実際に必要なことが十分に指定されていない場合を認識する「implicit-need」テストに合格した最初のClaudeモデルです。これにより、CLAUDE.mdの「clarifying rules」セクションの必要性は低くなります。CLAUDE.mdが「ユーザーがYを依頼した場合はXも考慮する」という200行のガードレールで構成されているなら、現在はネイティブでカバーされている項目を整理してください。

worktreeのベース、sandboxパス、管理者設定(2026年5月7日)

Claude Code v2.1.133では、本番用harnessで知っておくべき4つの管理者階層設定が追加されました。39

設定 機能
worktree.baseRef fresh(デフォルト)| head 新しいworktreeは再びorigin/<default>からブランチされます。ローカルHEADを使用していたv2.1.128からの破壊的デフォルト変更の取り消しです。プッシュ前のコミットを新しいworktreeで利用する運用に依存している場合は、worktree.baseRef: "head"を設定してください。
sandbox.bwrapPath 絶対パス $PATHにない、またはベンダー提供版を配布しているLinux/WSLホストで、Bubblewrapバイナリの場所を固定します。
sandbox.socatPath 絶対パス sandboxネットワークで使用するsocatバイナリについても同様です。
parentSettingsBehavior 'first-wins'(デフォルト)| 'merge' SDK managedSettingsを親のenterprise/team設定とどのように構成するかを管理者階層で制御します。'merge'では子セッションが継承および拡張でき、'first-wins'では親が権威を維持します。

ユーザーに注意喚起すべきなのはworktree.baseRefの取り消しです。v2.1.128〜v2.1.132の挙動(ローカルHEADからworktreeをブランチすること)に依存していたagentは、明示的に再設定しない限り、新しいworktreeでプッシュ前の作業へアクセスできなくなります。

enterprise可観測性向けOTelフィードバック調査(2026年5月8日)

Claude Code v2.1.136では、OpenTelemetryを通じて回答を収集するenterprise向けに、セッション内品質調査を再有効化するCLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELが追加されました。40 組織がOTelイベントを中央の可観測性スタックへ送信している場合、この環境変数により調査結果がデータパスへ戻り、品質シグナルがレイテンシーやエラー指標と同じパイプラインを通過します。オプトインとして扱ってください。デフォルトでは調査は抑制されたままであり、非OTelデプロイメントにはそれが適切です。

コーポレートランチャーとMCP規模のパフォーマンス(2026年7月)

v2.1.207の2つの変更は、本番デプロイメントにとって重要です。68 CLAUDE_CODE_PROCESS_WRAPPERにより、管理環境ではClaude Codeプロセスをコーポレートラッパーバイナリ経由で起動できます。これは、エンドポイントagent、起動時ポリシーチェック、すべてのプロセスを指定のsupervisor配下で実行しなければならない環境の統合ポイントです。以前にshell aliasや独自ランチャースクリプトでこれを代替していたenterpriseにとって、これはサポートされる接続点です。

同じリリースでは、harnessにとって最も影響の大きい箇所のランタイムオーバーヘッドも削減されました。MCPツール数が多いセッションでは、ツール使用ラウンドが最大7倍高速化し、セッショントランスクリプトは79分の1に縮小されます。68 これはアーキテクチャとしてのコストの指針を緩和しますが、覆すものではありません。ステートレスな単発操作では依然としてCLI優先が有利です。一方で、数十個のMCPツールを抱えるharnessは春にあったラウンドごとのペナルティをもはや支払わず、トランスクリプトストレージも長時間の自律実行における隠れたコストではなくなります。

quality loop

すべての非自明な変更に必須のレビュー手順です。

  1. 実装 - コードを書きます
  2. レビュー - すべての行を読み直します。誤字、ロジックエラー、不明瞭な箇所を見つけます
  3. 評価 - evidence gateを実行します。パターン、エッジケース、テストカバレッジを確認します
  4. 改善 - すべての問題を修正します。「後で」へ先送りしてはいけません
  5. 視野を広げる - 統合ポイント、import、隣接コードにリグレッションがないか確認します
  6. 繰り返す - evidence gateの基準を1つでも満たさない場合は、手順4に戻ります
  7. 報告 - 変更内容、検証方法、具体的な証拠を一覧にします

evidence gate

「そう思う」や「そうなるはず」は証拠ではありません。ファイルパス、テスト出力、または具体的なコードを示してください。

基準 必要な証拠
コードベースのパターンに従っている パターン名と、それが存在するファイルを示す
最も単純に動作する解決策である より単純な代替案として何を却下し、その理由を説明する
エッジケースを処理している 具体的なエッジケースと、それぞれの処理方法を列挙する
テストが通る 失敗が0件であることを示すテスト出力を貼り付ける
リグレッションがない 確認したファイルや機能を示す
実際の問題を解決している ユーザーのニーズと、それにどう対応しているかを説明する

いずれかの行について証拠を示せない場合は、改善に戻ってください。22

人間によるマージ権限

2026年5月の、29,585件のAI-agentプルリクエストライフサイクルを対象としたarXiv研究では、運用上のagent権限とマージのガバナンスが分けられています。47 実用的なアーキテクチャ上の教訓はシンプルです。agentは作業の開始、ブランチの継続、PRの作成、作業のレビュー、リスクの要約を行えますが、マージ権限は別のガバナンス境界として維持されます。

その境界をharness内で明示してください。agentにはPRの準備と証拠収集を任せ、組織に別途監査済みの自動化ポリシーがない限り、マージ、リリース、破壊的なリポジトリ操作には人間の承認を必須にします。自動化がマージを実行する場合は、実行者と、それを承認した人間またはポリシーを区別するログを残してください。

エラー処理パターン

アトミックなファイル書き込み。 複数のagentが同じ状態ファイルへ同時に書き込むと、JSONが破損します。.tmpファイルへ書き込み、その後にmvでアトミックに移動してください。同一ファイルシステム上では、OSがmvのアトミック性を保証します。17

# Atomic state update
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"

状態破損からの復旧。 状態が破損した場合、クラッシュするのではなく安全なデフォルトから再作成する復旧パターンを使用します。16

if ! jq -e '.depth' "$RECURSION_STATE_FILE" &>/dev/null; then
    # Corrupted state file, recreate with safe defaults
    echo '{"depth": 0, "agent_id": "root", "parent_id": null}' > "$RECURSION_STATE_FILE"
    echo "- Recursion state recovered (was corrupted)"
fi

((VAR++))のbashトラップ。 ((VAR++))は、0++が0と評価され、bashがそれをfalseとして扱うため、VARが0の場合に終了コード1を返します。set -eが有効な場合、これによりスクリプトが停止します。代わりにVAR=$((VAR + 1))を使用してください。16

blast radiusの分類

すべてのagentアクションをblast radiusで分類し、それに応じてゲートを設定してください。2

分類 ゲート
ローカル ファイル書き込み、テスト実行、lint 自動承認
共有 Gitコミット、ブランチ作成 警告して続行
外部 Git push、API呼び出し、デプロイメント 人間の承認が必要

Remote Control(任意のブラウザまたはモバイルアプリからローカルのClaude Codeへ接続)により、「外部」ゲートはブロッキング待機から非同期通知へ変わります。前のタスクをスマートフォンでレビューしている間にも、agentは次のタスクを続行できます。2

自律実行のためのタスク仕様

効果的な自律タスクには、目的、完了条件、コンテキストへのポインターという3つの要素が含まれます。16

OBJECTIVE: Implement multi-agent deliberation with consensus validation.

COMPLETION CRITERIA:
- All tests in tests/test_deliberation_lib.py pass (81 tests)
- post-deliberation.sh validates consensus above 70% threshold
- recursion-guard.sh enforces spawn budget (max 12 agents)
- No Python type errors (mypy clean)

CONTEXT:
- Follow patterns in lib/deliberation/state_machine.py
- Consensus thresholds in configs/deliberation-config.json
- Spawn budget model: agents inherit budget, not increment depth

条件は機械検証可能でなければなりません。テストの合格・不合格、linter出力、HTTPステータスコード、ファイルの存在確認などです。初期のタスクでagentに「通るテストを書いて」と依頼したところ、assert Trueassert 1 == 1が生成されました。技術的には正しいですが、実用上は価値がありません。16

条件の品質 結果
曖昧 「テストが通る」 agentが自明なテストを書く
測定可能だが不完全 「テストが通る AND カバレッジ >80%」 テストは行をカバーするが、意味のあることを何も検証しない
包括的 「すべてのテストが通る AND カバレッジ >80% AND 型エラーなし AND linterがクリーン AND 各テストクラスが異なるモジュールをテストする」 本番品質の出力

注意すべき失敗モード

失敗モード 説明 防止策
近道のスパイラル より早く終えるためにquality loopの手順を飛ばす evidence gateが各基準の証明を要求する
確信の蜃気楼 検証を実行せずに「確信している」と言う 完了報告で曖昧な表現を禁止する
幻の検証 このセッションで実行せずに、テストが通ると主張する Stop hookが独立してテストを実行する
先送りされた負債 コミット済みコードにTODO/FIXME/HACKが残る git commitのPreToolUse hookがdiffをスキャンする
ファイルシステムの汚染 放棄された反復作業による行き止まりの成果物 完了条件にクリーンアップ手順を含める

具体的なセッショントレース

5つのストーリーを持つPRDを処理する自律実行のセッショントレースです。2

  1. SessionStartが発火します。 dispatcherが現在の日付、プロジェクト検出、哲学的制約、コスト追跡の初期化を注入します。hookは5つ、合計180msです。

  2. AgentがPRDを読み、最初のストーリーを計画します。 UserPromptSubmitが発火します。dispatcherがアクティブなプロジェクトコンテキストとセッションドリフトのベースラインを注入します。

  3. Agentがテスト実行のためにBashを呼び出します。 PreToolUse:Bashが発火します。認証情報チェック、sandbox検証、プロジェクト検出を行います。90msです。テストが実行されます。PostToolUse:Bashが発火し、アクティビティのheartbeatを記録してドリフトを確認します。

  4. Agentがファイル作成のためにWriteを呼び出します。 PreToolUse:Writeが発火し、ファイルスコープを確認します。PostToolUse:Writeが発火し、lintチェックとコミット追跡を行います。

  5. Agentがストーリーを完了します。 Stopが発火します。quality gateは、agentが証拠を示したか、曖昧な表現を使ったか、diffにTODOコメントがあるかを確認します。いずれかのチェックに失敗した場合は終了コード2となり、agentは続行します。

  6. 独立した検証: 新しいagentが、前のagentによる自己報告を信頼せずにテストスイートを実行します。

  7. 3つのコードレビューagentが並列に起動します。 それぞれがdiffを独立してレビューします。いずれかのレビュアーがCRITICALを指摘した場合、ストーリーはキューへ戻されます。

  8. ストーリーが通過し、次のストーリーが読み込まれます。 このサイクルが5つすべてのストーリーで繰り返されます。

5つのストーリー全体で発火したhook数は合計約340です。hookに費やした合計時間は約12秒でした。このオーバーヘッドにより、単一の夜間実行で3件の認証情報漏洩、1件の破壊的コマンド、2件の不完全な実装を防止しました。

ケーススタディ:夜間のPRD処理

本番harnessは、8回の夜間セッションで12件のPRD(47ストーリー)を処理しました。指標では、最初の4件のPRD(最小harness:CLAUDE.mdのみ)と、最後の8件(完全なharness:hooks、skills、quality gates、multi-agent review)を比較しています。

指標 最小構成(4 PRD) 完全なharness(8 PRD) 変化
認証情報漏洩 2件がgitへ漏洩 7件をコミット前にブロック 事後対応から予防へ
破壊的コマンド mainへのforce-pushが1件 4件をブロック 終了コード2による強制
誤った完了率 35%がテスト失敗 4% evidence gate + Stop hook
ストーリーあたりの修正ラウンド 2.1 0.8 skills + quality loop
コンテキスト劣化 6件のインシデント 1件のインシデント ファイルシステムメモリ
トークンオーバーヘッド 0% 約3.2% 無視できる水準
ストーリーあたりのhook時間 0秒 約2.4秒 無視できる水準

2件の認証情報漏洩では、APIキーのローテーションと下流サービスの監査が必要になり、インシデント対応に約4時間かかりました。同等の問題を防止するharnessのオーバーヘッドは、ストーリーあたり2.4秒のbashでした。Stop hookがagentによる完了報告を許可する前に独立してテストを実行したため、誤った完了率は35%から4%へ低下しました。

セキュリティに関する考慮事項

信頼できるエージェントの5原則(Anthropic、2026年4月)

Anthropicは、2026年4月9日にエージェントの信頼性に関する正式なフレームワークを公開しました。27 この5原則は、このガイドのEvidence Gateの考え方と並行し、それを拡張するものです。

原則 意味 このharnessでの満たし方
人間による制御 すべての意思決定点で意味のある人間のオーバーライドを可能にすること hooksによるツール呼び出しのゲート、PreCompactブロッキング、チェックレイヤーとしてのAuto Mode分類器
価値の整合性 エージェントの行動が周辺的な目標ではなくユーザーの意図を追跡すること 明示的な意図仕様としてのCLAUDE.md、機能スコープとしてのskills
セキュリティ 敵対的入力およびプロンプトインジェクションへの耐性 hookレイヤーでのSandbox + deny-rules + 入力検証
透明性 意思決定と行動を監査可能な形で記録すること hookログ、セッショントランスクリプト、skill呼び出しトレース
プライバシー 適切なデータ処理とガバナンス 環境変数の認証情報スクラビング、hookレイヤーでのシークレット検出

Anthropicはさらに、MCPをLinux FoundationのAgentic AI Foundationへ寄贈し、AGENTS.md(現在はOpenAI、Google、Cursor、Factory、Sourcegraphと共同で管理)に加わりました。エージェント相互運用性の標準は、今やベンダー中立です。27

MCPのステートレスターンと自己申告アイデンティティ。 MCP仕様は、2026年7月28日の改訂(現在のCurrent spec)でステートレスコア(SEP-2575)への移行を完了しました。この改訂では、以前サーバーアイデンティティを伝えていたステートフルなinitializeハンドシェイクが廃止されています。7月16日にマージされたドラフト仕様の変更(PR #3002)では、アイデンティティが任意のサーフェスとして復元されました。サーバーはレスポンスの_metaio.modelcontextprotocol/serverInfoオブジェクトを含められ、リクエストのclientInfoは任意になります。71 セキュリティ上重要なのは、仕様が信頼について述べている点です。このアイデンティティは自己申告で未検証であり、表示とログ記録専用で、セキュリティ判断の根拠にしてはなりません。harnessがMCPサーバーの申告名をもとに許可リスト、権限ルール、ログベースの監査を行う場合、その名前は認証情報ではなく主張です。信頼はサーバー自身が名乗る内容ではなく、トランスポートと設定(自分でどのエンドポイントにどのサーバーを設定したか)に固定してください。ステートレス改訂は予定どおり2026年7月28日にリリースされました(必須のserver/discover_metaによるプロトコルバージョンネゴシエーション、Streamable HTTPヘッダー)。上記の信頼に関するガイダンスは、リリース済みの挙動を説明しています。

Skill sandboxツール: skillsを攻撃対象領域として扱うチーム向けに、PermisoのSandyClaw(2026年4月2日リリース)は、専用Sandboxでskillsを実行し、Sigma/YARA/Nova/Snort検出に基づく証拠付き判定を提供します。skill-sandboxカテゴリで初めての製品です。28

Sandbox

Claude Codeは、OSレベルの分離(macOSではseatbelt、Linuxではbubblewrap)を使用してネットワークアクセスとファイルシステム操作を制限する任意のsandboxモードをサポートしています(settings.jsonまたは/sandboxコマンドで有効化)。有効にすると、sandboxはモデルによる任意のネットワークリクエストやプロジェクトディレクトリ外のファイルへのアクセスを防ぎます。sandboxingを使用しない場合、Claude Codeは個々のツール呼び出しを承認または拒否する権限ベースのモデルを使用します。13

2026年5月のセキュリティ下限。 Claude Code v2.1.149では、PowerShellの作業ディレクトリ権限バイパス、複数のPowerShell許可ルールおよび古い変数による権限分析の欠落、共有git内部領域だけでなくメインリポジトリのルート全体を対象としていたgit-worktree sandboxの書き込み許可リストバグが修正されました。53 harnessでPowerShellまたはworktree分離エージェントを許可する場合は、v2.1.149以降を下限とし、shellルールを狭く保ってください。広範なPowerShell(*)やリポジトリ全体への書き込み例外は、オーケストレーションの近道であって安全境界ではありません。

OpenAI Agents SDKのsandboxロックダウン(v0.17.0、2026年5月8日)。 OpenAI側では、openai-agents-python v0.17.0により、並行する境界が強化されました。LocalFile.srcLocalDir.srcは、Manifest.extra_path_grantsを用いてSandboxPathGrantで明示的に許可されない限り、マニフェスト適用時のmaterialization base_dir(SDKプロセスの現在の作業ディレクトリ)内に制限されます。41 相対ローカルソースはbase_dirから解決され、絶対パスはすでにその内部に存在するか、許可を持つ必要があります。これによりローカルアーティファクト境界の問題が解消されます。以前のバージョンでは、マニフェストが任意のホストパスをsandboxワークスペースへ取り込めました。移行方法として、読み取り専用マウントにはSandboxPathGrant(path=..., read_only=True)を使い、信頼できるホストルートをマニフェストレベルで宣言してください。extra_path_grantsは信頼できるアプリケーション設定として扱い、モデル出力や信頼できないマニフェスト入力から許可を設定してはなりません。

OpenAI Agents SDKの追加下限(v0.17.3)。 0.17.1〜0.17.3系では、さらにsandboxとセッションの堅牢化が追加されました。アーカイブ展開の制限、GitRepoサブパス検証、より明確なsandboxプロバイダーエラー、sandboxコマンドから切り離されたマウントポイント認証情報、相対sandboxワークスペースルートの拒否、Vercel-sandboxの終端状態処理です。54 Claude Code hooksだけでなく、OpenAIホスト型またはプロバイダー支援型Sandboxを使用している場合、この節のパターンに対する現時点の下限として0.17.3を扱ってください。

製品をまたぐ3つの封じ込めパターン(Anthropic、2026年5月)

Anthropicのエンジニアリング記事「How we contain Claude across products」(2026年5月25日)は、この節で断片的に教えてきた原則、つまり上記の設定レベルSandbox、worktree分離の下限、すべてを信頼できないものとして扱う姿勢について、ベンダー自身が表明したものです。81 中核となるのは、封じ込め強度を製品サーフェスに対応付けることです。そして、この対応付け自体が教訓です。正しい分離デザインが1つあるのではなく、誰が監督できるか、何が起こり得るかに適合した分離があります。

  • エフェメラルなgVisorコンテナ(claude.ai)。 サーバー側の実行は、セッションごとのエフェメラルなファイルシステムを持つ、分離されたインフラ上のgVisorコンテナで実行されます。脅威モデルはインフラとテナントの分離です。ユーザーのマシンには到達できないため、ローカルで防御すべきものはありません。
  • 人間参加型のOS sandboxing(Claude Code)。 上記Sandbox段落のパターンをポリシーとして述べたものです。macOSではSeatbelt、Linuxではbubblewrapを用い、読み取りは許可し、書き込みはワークスペースに限定し、ネットワークはデフォルトで拒否します。境界でカバーできない操作は人間が承認します。Anthropicはランタイム(sandbox-runtime)をオープンソース化しているため、境界を監査できます。この記事は弱点について率直です。権限プロンプトの約93%が承認され、実行前に過剰な挙動の約83%を検出しながら承認プロンプトを84%削減するauto-mode分類器が存在するのは、承認疲れがUX上の苦情ではなくセキュリティ特性だからです。これは、このガイドがv2.1.193以降追跡してきたチェックレイヤーの姿勢です。
  • 封印されたVM(Claude Cowork)。 プラットフォームハイパーバイザー上の完全な仮想マシンです。macOSではApple Virtualization framework、WindowsではHCSを使用し、選択したワークスペースと.claudeフォルダーだけがマウントされます。ホスト上の他のものは一切見えません。認証情報はVMに入らず、ホストのkeychainに保持され、各セッションにはスコープ付きで個別に取り消し可能なトークンが渡されます。VM内の防御的MITMプロキシがこれを強制し、VM自身がプロビジョニングしたセッショントークンを持つリクエストだけを通します。攻撃者が埋め込んだキーは、VMだけが来歴を把握しているため、境界で拒否されます。

この分類法の根底にあるデザイン原則こそが、移植可能な部分です。まず環境レイヤーで封じ込め、次にモデルレイヤーで誘導する: 確率的な防御にはゼロではない見逃し率があるため、決定論的な境界がプロンプトレベルの誘導で見逃したものを捕捉しなければなりません。これは、このガイドの「hooksが実行を保証する」という議論をベンダーが言い換えたものです。分離強度はユーザーの監督能力に合わせる: 開発者はBashコマンドを承認前に評価できますが、ナレッジワーカーにはできません。そのためCodeには権限ダイアログがあり、Coworkには封印されたVMがあります。カスタム分離コードより実戦で検証されたプリミティブを優先する: ハイパーバイザー、seccomp、コンテナランタイムは、Anthropic独自のカスタム許可リストプロキシや設定パーサーより、敵対的な精査に耐えてきました。プロジェクトローカルの設定とツール出力を信頼できないものとして扱う: 記事の指示は、プロジェクトのオープンと設定のロードを、インターネットからのあらゆる受信リクエストと同じように扱い、ツールが信頼されている場合でもツール出力を攻撃対象領域として扱うことです。これは、このガイドがエージェント間メッセージ、subagentが読んだコンテンツ、自己申告のMCPアイデンティティに適用するのと同じ姿勢です。認証情報をSandboxの外に置く: エージェントが漏えいさせうる常駐キーではなく、スコープ付き、取り消し可能、セッションごとのトークンを使用します。

設定サーフェスは第1原則に追いつきつつあります(v2.1.219)。 「まず環境レイヤーで封じ込める」は賛同しやすい一方、実際に設定するのは難しいものでした。Claude CodeのSandboxは、ルールでカバーできないものを質問によって解決しており、上記の93%承認という数字が認めるように、権限プロンプトは決定論的な衣装を着た確率的防御だからです。sandbox.network.strictAllowlistを設定すると、egressに関する質問を排除できます。これを設定した場合、Sandbox内コマンドによる許可リスト外ホストへのリクエストは、プロンプト表示ではなく即座に拒否されます。84 v2.1.216のsandbox.filesystem.disabledと組み合わせると、2つの設定はトグルの寄せ集めではなく1つの態勢になります。ファイルシステムとネットワークの封じ込めは独立して選択でき、ネットワーク封じ込めは決定論的にできます。無人のharnessでは、この2つのうちegressのほうが重要です。注入された指示が情報流出に変わるのはegressであり、承認疲れの最終形は、疲れる人がキーボードの前にいないことだからです。代償は決定論的な境界に伴う通常の代償です。許可リストが正しくなければならず、忘れたホストは質問ではなく不透明な拒否として失敗します。エージェントが正当に必要とするホストを列挙してから、プロンプトを取り除いてください。

これらはいずれもhookレイヤーを置き換えるものではなく、その下に位置します。封じ込めパターンは決定論的な下限であり、このガイドのworktree強制の履歴は、その縮図として同じ教訓を示しています。境界が意味を持つのは、意図的なリダイレクトに対しても維持される場合だけです。そして維持される可能性が最も高いプリミティブは、その場のために書かれたものではありません。

権限境界

権限システムは複数のレベルで操作をゲートします。

レベル 制御対象
ツール権限 使用できるツール subagentをRead、Grep、Globに制限
ファイル権限 変更できるファイル .envcredentials.jsonへの書き込みをブロック
コマンド権限 実行できるBashコマンド rm -rfgit push --forceをブロック
ネットワーク権限 アクセスできるドメイン MCPサーバー接続の許可リスト

パラメータレベルの権限ルール(2026年6月)

Claude Code v2.1.178では、権限ルールがツールレベルからパラメータレベルへ拡張されました。Tool(param:value)はツールの入力パラメータに一致し、*はワイルドカードです。標準的な例はAgent(model:opus)であり、特定のモデルtierでsubagentsが起動されるのをブロックするルールです。63 アーキテクチャ上、これは上記の4レベル表では表現できなかったギャップを埋めます。以前はツール全体を許可または拒否できても、どのように呼び出されるかは制約できませんでした。ガバナンスポリシーは今や、「subagentsの起動は許可するがFable 5 tierでは許可しない」や「Bashは許可するがこのフラグでは許可しない」と、プロンプトレベルの要求ではなく決定論的なルールとして定められます。

付随する管理設定enforceAvailableModels(v2.1.175)は、モデル選択を上位から制約します。Defaultモデルを固定し、ユーザーまたはプロジェクトスコープの設定で管理されたavailableModels許可リストを広げることを防ぎます。63 この2つは組み合わせて機能します。許可リストがセッションに存在するtierを定義し、パラメータレベルのルールがsubagentsによるその利用方法を制約します。v2.1.196以降、管理者は組織コンソールから組織全体のデフォルトモデルも設定でき、/modelでは「Org default」として表示されます。そのため、各オペレーターが個別に固定しなくても、フリート全体がガバナンスされたデフォルトを継承できます。これは許可リストの上限を補完する下限です。

パススコープの許可ルールは作業ディレクトリにアンカーされる(2026年7月)

Claude Code v2.1.214では、パススコープの権限ルールにおける静かな過剰一致が修正されました。単一セグメントのdir/**パターン(たとえばEdit(src/**))を持つ許可ルールは、vendor/some-package/src/や、ルール作成者が許可する意図のなかった他のすべてのネストしたsrc/を含め、任意の深さにあるsrcという名前のすべてのディレクトリへの編集を自動承認していました。このようなルールは現在、<cwd>/dirだけにアンカーされます。本当に任意の深さに一致させたい場合は、**/dir/**で明示してください。74 拒否ルールと質問ルールは、意図的に従来の任意深度一致を維持しています。この非対称性は正しいフェイルセーフ設計です。一致範囲が狭すぎる許可ルールは安全に失敗し(プロンプトが表示される)、一致範囲が狭すぎる拒否ルールはオープンに失敗します(ブロックされるべきパスがすり抜ける)。(許可はより厳格になり、拒否は広いまま維持されました。)設定がネストしたパスをカバーするために単一セグメントの許可パターンに依存している場合、v2.1.214でそれは暗黙に機能しなくなりました。これは修正が意図どおりに機能しているということですが、実際に必要な範囲を改めて宣言するため、許可リストを見直す価値があります。

Auto Modeの破壊的コマンドに対するガードレール(2026年6月)

Claude Code v2.1.183では、静かに作業を失わせたり環境を破棄したりする操作に対し、auto modeの影響範囲が縮小されました。セッション内で明示的に要求しない限り、auto modeは次をハードブロックします。破壊的なgit操作(git reset --hardgit checkout -- .git clean -fdgit stash drop)、そのコミットがそのセッション内でエージェントによって作成されていない場合のgit commit --amend、特定のstackを指定していない場合のインフラ破棄(terraform destroypulumi destroycdk destroy)です。65 アーキテクチャ上、これは上記の起動審査およびパラメータレベルルールを補完するものです。どのツールか、どのように起動されるかをゲートするのではなく、少数の特定の不可逆コマンドを意図によってゲートします。エージェントは依然として実行できますが、自発的にはできず、明示的な指示がある場合だけ実行できます。自律的なharnessでは、同じ原則を独自のPreToolUse hooksにエンコードしてください。状態を破壊するコマンドには、明示的なオペレーターシグナルだけが解除できるデフォルト拒否ルールがふさわしいものです。

2026年7月: auto modeがエンタープライズ対応となり、1つのプロンプトは免除不可能になります。 auto modeはv2.1.207でAmazon Bedrock、Google Vertex AI、Microsoft FoundryにおいてGAとなり、disableAutoMode管理設定がエンタープライズ向けオプトアウトとして提供されました。分類器をチェックレイヤーとする姿勢は、すべてのファーストパーティエンタープライズプラットフォームで利用可能になり、無効化はプラットフォームの欠落ではなく明示的なガバナンス判断になります。68 続くv2.1.208では、壊滅的な削除に対するガードが絶対的なものになりました。壊滅的な削除の確認プロンプトは、--dangerously-skip-permissionsとauto modeの両方を貫通します。68 これは注目すべき前例です。明示的なバイパスフラグを含むどの権限態勢でも免除できない、Claude Codeにおける最初の確認です。--dangerously-skip-permissionsが文字どおりプロンプトゼロを意味すると仮定していた自律harnessのデザインでは、この1つの例外を考慮すべきです。これは、無人ループが最も回復不能な損害を与えられる箇所でのみ発動します。

捏造防止ガードレール(2026年7月)

v2.1.203〜v2.1.206のリリースでは、エージェントが自身の監査証跡を捏造できる2つの経路が閉じられました。68 まず、auto-modeルールによりトランスクリプトファイルの改ざんがブロックされるようになりました。セッション記録は、セッション自身のツール呼び出しで書き換えられるものではなくなりました。次に、バックグラウンドタスク通知に、タスク実行中に人間の入力がなかったことが明示されるようになりました。後者は微妙な失敗を対象にしています。バックグラウンドタスクを要約するモデルは、以前は実際には行われていないトランスクリプト内の「承認」を提示(または捏造)できましたが、通知にはそれを否定する情報がありませんでした。現在は、通知そのものが反証となります。

このアーキテクチャ上の教訓はEvidence Gateにも一般化されます。トランスクリプト、通知、ログは監査サーフェスであり、監査サーフェスは監査対象が書き込めてはなりません。プラットフォームは現在、自身のトランスクリプトに対してこれを強制しています。同じルールをharnessにも適用してください。証拠レポート、テスト出力、熟議記録は、モデルが書き込めるパスの外に置くべきです。

プロンプトインジェクション防御

Skillsとhooksは、プロンプトインジェクションに対する多層防御を提供します。

ツール制限を持つskillsは、侵害されたプロンプトが書き込みアクセスを得ることを防ぎます。

allowed-tools: Read, Grep, Glob

PreToolUse hooksは、モデルへのプロンプトの与え方にかかわらず、すべてのツール呼び出しを検証します。

# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
    echo "BLOCKED: Sensitive file access" >&2
    exit 2
fi

Subagent分離は影響範囲を制限します。permissionMode: planを持つsubagentは、プロンプトが侵害されても変更を加えられません。

プラットフォームの下限は2026年7月に上がりました。 Claude Code v2.1.210では、Agent toolが、subagentが読んだコンテンツに含まれる間接的なプロンプトインジェクションに対して強化されました。毒性のあるファイル、Webページ、またはsubagentが取り込んだツール結果は、委任サーフェス自体を誘導しにくくなります。69 さらにv2.1.211では、チェーン内の人間のリンクが強化されました。権限プレビューは現在、双方向オーバーライド文字、ゼロ幅文字、見た目が似たUnicode文字を無効化するため、承認ダイアログ上では無害に表示されながら別の内容を実行するようなコマンドを作成できなくなります。69 2つ目の修正は、時間的プレッシャーの下で人間がレンダリング済みプレビューを承認するharnessにおいて最も重要です。表示自体もインジェクションサーフェスだったからです。どちらの変更も、上記のhookレベル防御を置き換えるものではありません。その下の下限を引き上げるものです。

Agentログとガードレールはセキュリティサーフェスである

2026年5月の2つのアドバイザリは、1つのパターンを強調しています。エージェントインフラは、機密コンテンツや実行可能ポリシーが漏えいまたは脱出する新たな場所を生み出します。GitHub Advisory GHSA-f3jg-756w-gm35は、デフォルトのログ動作下で機密ツールペイロードコンテンツがローカルSQLiteログに残る可能性があるGryph Agentsのペイロードフィルター問題を対象としています。45 OSV GHSA-wxxx-gvqv-xp7pは、管理者保護されたプロキシエンドポイントにおけるLiteLLMのカスタムコードガードレールSandbox脱出を対象としています。46

本番環境のルールは、エージェントのトランスクリプト、ツールペイロード、SQLiteログ、ガードレール実行を機密インフラとして扱うことです。永続化前にマスキングし、保持期間を制限し、カスタムガードレールコードはSandbox化してレビュー可能にしてください。プロンプトレベルの「シークレットをログに記録しない」ルールだけでは不十分です。ログおよびガードレールの経路には、決定論的なテストが必要です。

Hookセキュリティ

環境変数をヘッダーに展開するHTTP hooksでは、任意の環境変数の情報流出を防ぐため、明示的なallowedEnvVarsリストが必要です。13

{
  "type": "http",
  "url": "https://api.example.com/notify",
  "headers": {
    "Authorization": "Bearer $MY_TOKEN"
  },
  "allowedEnvVars": ["MY_TOKEN"]
}

人間とエージェントの責任分担

エージェントアーキテクチャのセキュリティには、人間とエージェントの責任を明確に分ける必要があります。17

人間の責任 エージェントの責任
問題定義 パイプライン実行
信頼度のしきい値 しきい値内での実行
コンセンサス要件 コンセンサス計算
品質ゲート基準 品質ゲートの強制
エラー分析 エラー検出
アーキテクチャの意思決定 アーキテクチャの選択肢
ドメインコンテキストの注入 ドキュメント生成

パターンは次のとおりです。組織的コンテキスト、倫理的判断、または戦略的方向性を必要とする決定は人間が担います。大きな可能性空間を計算的に探索することを必要とする決定はエージェントが担います。Hooksがこの境界を強制します。

再帰的なHook強制

Hooksはsubagentのアクションに対しても発火します。13 ClaudeがAgent toolを通じてsubagentを起動した場合、PreToolUseおよびPostToolUse hooksはsubagentが使用するすべてのツールで実行されます。再帰的なhook強制がなければ、subagentは安全ゲートをバイパスできます。SubagentStopイベントでは、subagentの完了時にクリーンアップまたは検証を実行できます。

これは任意ではありません。セキュリティhooksなしでsubagentを起動するエージェントは、ゲートがメイン会話を何もせず監視している間に、mainへのforce-push、認証情報ファイルの読み取り、破壊的コマンドの実行を強制できるエージェントです。

アーキテクチャとしてのコスト

コストは運用上の後回しではなく、アーキテクチャ上の意思決定です。2 3つのレベルがあります。

トークンレベル。 システムプロンプトの圧縮です。チュートリアルのコード例を削除し(モデルはAPIを知っています)、ファイルをまたぐ重複ルールを統合し、説明を制約に置き換えます。「機密パスに一致するツール呼び出しを拒否する」は、認証情報を読んではならない理由を説明する15行分と同じ働きをします。

エージェントレベル。 長い会話より新しい起動を優先します。自律実行の各ストーリーには、クリーンなコンテキストを持つ新しいエージェントを割り当てます。各エージェントが新しく開始するため、コンテキストが肥大化することはありません。メモリではなくブリーフィングを使用します。モデルは、蓄積した30ステップのコンテキストをたどるより、明確なブリーフィングをより適切に実行します。

アーキテクチャレベル。 操作がステートレスである場合は、MCPよりCLI-firstを優先します。ワンショット評価のclaude --print呼び出しは、コストが低く、接続オーバーヘッドも追加しません。MCPが適しているのは、ツールが永続的な状態またはストリーミングを必要とする場合です。

判断フレームワーク

各メカニズムを使う場面:

問題 使用するもの 理由
編集のたびにコードをフォーマットする PostToolUse hook 必ず決定論的に実行する必要があるため
危険な Bash コマンドをブロックする PreToolUse hook 実行前にブロックする必要があり、終了コードは 2 です
セキュリティレビューのパターンを適用する Skill コンテキストに応じて自動的に有効になるドメイン専門知識のため
コンテキストを汚さずにコードベースを調査する Explore subagent コンテキストを分離し、要約だけを返すため
実験的なリファクタリングを安全に実行する Worktree-isolated subagent 失敗した変更は破棄できるため
複数の視点からコードをレビューする Parallel subagents または Agent Team 独立した評価により見落としを防げるため
元に戻せないアーキテクチャを決定する Multi-agent deliberation 確信度トリガーとコンセンサス検証のため
セッションをまたいで決定を保持する MEMORY.md ファイルシステムはコンテキスト境界を越えて保持されるため
チーム標準を共有する Project CLAUDE.md + .claude/rules/ Git で配布され、自動的に読み込まれるため
プロジェクトのビルド/テストコマンドを定義する CLAUDE.md エージェントが検証できるコマンド優先の指示のため
長時間の自律開発を実行する Ralph loop(フレッシュコンテキストによる反復) 反復ごとに完全なコンテキスト予算とファイルシステム状態を利用できるため
セッション終了時に Slack へ通知する Async Stop hook ブロッキングせず、セッションを遅くしないため
コミット前に品質を検証する PreToolUse hook on git commit lint/テストが失敗した場合にコミットをブロックするため
完了条件を強制する Stop hook タスク完了前にエージェントが停止するのを防ぐため

Skills vs Hooks vs Subagents

観点 Skills Hooks Subagents
呼び出し 自動(LLM の推論) 決定論的(イベント駆動) 明示的、または自動委任
保証 確率的(モデルが判断) 決定論的(常に実行) 決定論的(コンテキスト分離)
コンテキストコスト メインコンテキストに注入 ゼロ(LLM の外部で実行) 個別のコンテキストウィンドウ
トークンコスト 説明用予算(ウィンドウの 1%、フォールバックは 8,000 文字) ゼロ subagent ごとに完全なコンテキスト
最適な用途 ドメイン専門知識 ポリシーの強制 集中的な作業、調査

よくある質問

hooks はいくつまでなら多すぎませんか?

制約となるのは数ではなくパフォーマンスです。各 hook は同期的に実行されるため、合計の hook 実行時間が一致するすべてのツール呼び出しに加算されます。ユーザーレベルとプロジェクトレベルの設定を合わせて 95 個の hook があっても、各 hook が 200ms 未満で完了すれば目立ったレイテンシは発生しません。注意すべき目安は、PostToolUse hook がすべてのファイル編集に 500ms 以上を追加する場合です。セッションが重く感じられます。デプロイ前に time で hooks をプロファイリングしてください。14

hooks は Claude Code によるコマンド実行をブロックできますか?

はい。PreToolUse hooks は、コード 2 で終了することで任意のツール操作をブロックします。Claude Code は保留中の操作をキャンセルし、hook の stderr 出力をモデルに表示します。Claude は拒否理由を確認し、より安全な代替案を提案します。終了コード 1 はブロッキングしない警告であり、操作はそのまま続行されます。3

hook の設定ファイルはどこに置くべきですか?

hook の設定は、プロジェクトレベルの hooks には .claude/settings.json(リポジトリにコミットされ、チームと共有されます)、ユーザーレベルの hooks には ~/.claude/settings.json(個人用で、すべてのプロジェクトに適用されます)に置きます。両方が存在する場合は、プロジェクトレベルの hooks が優先されます。作業ディレクトリに関する問題を避けるため、スクリプトファイルには絶対パスを使用してください。14

すべての判断に deliberation は必要ですか?

いいえ。confidence module は、曖昧さ、複雑さ、重要度、コンテキスト依存性という 4 つの次元で判断を採点します。総合確信度が 0.70 未満の判断だけが deliberation をトリガーし、全判断のおよそ 10% に相当します。ドキュメントの修正、変数名の変更、通常の編集では deliberation を完全にスキップします。セキュリティアーキテクチャ、データベーススキーマの変更、元に戻せないデプロイでは、一貫してトリガーされます。7

意見の不一致を生み出すよう設計されたシステムは、どのようにテストしますか?

成功パスと失敗パスの両方をテストします。成功パスでは、エージェントが建設的に意見を異にし、コンセンサスに到達します。失敗パスでは、エージェントがすぐに収束する、まったく収束しない、または spawn 予算を超過する状況を扱います。エンドツーエンドテストでは、決定論的なエージェント応答で各シナリオをシミュレートし、両方の検証ゲートが文書化されたすべての失敗モードを捕捉することを確認します。本番の deliberation システムでは、3 層にわたり 141 件のテストを実行します。内訳は、48 件の Bash 統合テスト、81 件の Python ユニットテスト、12 件のエンドツーエンドパイプラインシミュレーションです。7

deliberation によるレイテンシへの影響はどの程度ですか?

3 エージェントの deliberation では、実時間で 30~60 秒追加されます(この deliberation の設計では Agent tool を通じてエージェントを逐次実行します。一方、プラットフォーム自体は v2.1.198 以降、バックグラウンドで subagents を並行実行します)。10 エージェントの deliberation では 2~4 分追加されます。consensus と pride check hooks は、それぞれ 200ms 未満で実行されます。主なボトルネックはオーケストレーションのオーバーヘッドではなく、エージェントごとの LLM 推論時間です。7

CLAUDE.md ファイルの長さはどのくらいにすべきですか?

各セクションは 50 行未満、ファイル全体は 150 行未満に抑えてください。長いファイルはコンテキストウィンドウによって切り詰められるため、最も重要な指示を先頭に置きます。スタイル設定より先に、コマンドと完了の定義を置いてください。21

Claude Code 以外のツールでも機能しますか?

アーキテクチャの原則(決定論的なゲートとしての hooks、ドメイン専門知識としての skills、分離されたコンテキストとしての subagents、メモリとしてのファイルシステム)は、どのエージェントシステムにも概念的に適用できます。具体的な実装では、Claude Code のライフサイクルイベント、matcher パターン、Agent tool を使用します。AGENTS.md は同じパターンを Codex、Cursor、Copilot、Amp、Windsurf にも適用します。21 実装の詳細はツール固有でも、harness パターン自体はツールに依存しません。


クイックリファレンスカード

Hook の設定

{
  "hooks": {
    "PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
    "PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
    "Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
    "SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
  }
}

Skill の Frontmatter

---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---

Subagent の定義

---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---

Instructions for the subagent.

終了コード

コード 意味 用途
0 成功 操作を許可する
2 ブロック セキュリティゲート、品質ゲート
1 ブロッキングしない警告 ログ記録、助言メッセージ

主要コマンド

コマンド 目的
/compact コンテキストを圧縮し、決定を保持する
/context コンテキスト割り当てと有効な skills を表示する
edit .claude/agents/ subagents を管理する — /agents ウィザードは v2.1.198 で削除されました。定義を直接作成または編集するか、Claude に依頼してください
/goal <condition> 完了条件に向けて Claude が作業を続けるようにする
claude agents 実行中、ブロック中、完了済みのセッションの Agent View を開く
CLAUDE_CODE_WORKFLOWS=1 履歴情報:v2.1.147 の Workflow-tool プレビューを有効化しました。dynamic workflows は v2.1.154 以降、/workflows でデフォルト利用可能です
claude -c 直近のセッションを継続する
claude --print 1 回限りの CLI 呼び出し(会話なし)
# <note> メモリファイルにメモを追加する
/memory auto-memory を表示・管理する

ファイルの場所

パス 用途
~/.claude/CLAUDE.md 個人用のグローバル指示
.claude/CLAUDE.md プロジェクト指示(Git で共有)
.claude/settings.json プロジェクトの hooks と権限
~/.claude/settings.json ユーザーの hooks と権限
~/.claude/skills/<name>/SKILL.md 個人用 skills
.claude/skills/<name>/SKILL.md プロジェクト skills(Git で共有)
~/.claude/agents/<name>.md 個人用 subagent 定義
.claude/agents/<name>.md プロジェクト subagent 定義
.claude/rules/*.md プロジェクトのルールファイル
~/.claude/rules/*.md ユーザーのルールファイル
~/.claude/projects/{path}/memory/MEMORY.md auto-memory

変更履歴

日付 変更内容 出典
2026-08-18 Fork subagentsを反映(v2.1.232)し、v2.1.233/234の差分も総点検。 subagentタイプの表にforkを追加しました。「新しい状態から開始するのではなく、それまでの会話全体を継承します。… forkにはメインセッションと同じsystem prompt、ツール、モデル、メッセージ履歴が渡されます」。prompt cacheは共有されますが、ツール呼び出しは引き続き分離されます。v2.1.232以降、対話型セッションではデフォルトで有効、-p/SDKでは無効です。「subagentsはクリーンなcontextで開始する」という記述にも、forkの例外を追記しました。併せて反映したchangelogのみの差分:v2.1.233では、現行世代のモデルでtaskツール(TaskCreate/Get/Update/List、TodoWrite)がデフォルトで無効になりました(CLAUDE_CODE_ENABLE_TODO_TOOLS=1で復元できます)。そのため、デフォルト設定ではTaskCreated/TaskCompleted hooksも動作しません。また、agent teamsのドキュメントによると、taskツールを持たないteammatesは「共有taskリストではなく、メッセージを通じて」連携します。v2.1.234ではteammateDefaultModel設定が削除されました(teammatesは、spawn promptまたはCLAUDE_CODE_SUBAGENT_MODELでモデルを指定しない限り、leadと同じモデルで動作します)。さらに、ターン間のbackground task通知が<system-reminder>タグ内で配信されるようになりました。 88
2026-08-12 初の包括的なgate監査 — evaluatorでガイド全体を精読。R1は8.83点でMAJOR判定が6件あり、すべてこの行の更新で修正しました。 一連の不具合(各リリース行の正しさは保ち、過去時点の記述を上書きしない方針):hook event数は30とされていましたが、表にはMessageDisplayが欠落していました。これは本文で安定性の節目として挙げているeventそのものです(現在は31、行を追加)。Built-In Subagent Typesの表ではExploreがHaikuで動作すると説明しており、このchangelog内のv2.1.198「セッションのモデルを継承する」という行と矛盾していました。deliberationのコストは「現行」と記載されていたものの、旧来のOpus 4.x料金である$15/$75で計算されており、Opus 5の$5/$25と比べて3倍に過大評価されていました(再計算し、旧数値であることも明記)。xhighは、Opus 4.8でv2.1.154から利用可能になって数か月経つにもかかわらず、依然として「(Opus-4.7のみ)」となっていました。MCPのstateless改訂はCurrent仕様として2週間前に公開済みでしたが、なお「2026年7月28日に予定」と記載されていました(過去形に書き換え、脚注も再検証)。Workflowセクションは、dynamic workflowsがv2.1.154以降/workflowsからデフォルトで利用可能になっているにもかかわらず、デフォルトで無効なv2.1.147のenv flagを冒頭で案内していました(セクション、TL;DR、env表の行を整合)。drift更新:SDKのバージョンを実環境で再検証しました(Python 0.2.137、TS 0.3.229、参照時点も更新)。sessions-as-peersの説明を追加しました(v2.1.224のSendMessage/ListAgents、self-hosted runners、8月14日からのauto-modeデフォルト化とdefaultModeで固定する際の注意)。skillsとpluginsの統合箇所にAgent Plugins 1.0.0を追記し、Anthropicが存在しない点も明記しました。Ralphの図はfresh-contextと表記し直しました(現在のモデルは1M-nativeです)。FAQのlatency回答はdeliberationデザインに限定しました。meta descriptionは155文字に短縮しました。タイトルは意図的に61文字のまま維持しています。表示幅を1文字超えますが、ranking assetとして価値があるためです。 86 87 89
2026-08-01 鮮度を修正:ガイドの他の箇所ではすでに更新されていた「2026年7月時点」というバージョン記述。 Python SDKの段落では、packageが「PyPIのv0.2.111(Claude CLI v2.1.202を同梱)に進み、TypeScript SDKはv0.3.203になった」と記載されていました。しかし、どちらも17リリース遅れており、同じガイド内の他セクションでは0.2.128と0.3.220が正しく記載されていました。現在は、検証済みの確認日に基づき、v0.2.128(CLI v2.1.220を同梱し、mcpの最低バージョンを>=1.23.0に引き上げ)とv0.3.220に更新しています。期限を定めない月単位の表現は使用していません。新しい90ではPyPI、npm、Python SDKのchangelogを参照しています。この期間にupstreamの新リリースはありません。Claude Code v2.1.220、Codex v0.146.0 stable(v0.147.0はalphaのみ)、FastAPI 0.141.1、XcodeBuildMCP 2.7.0、MCPVault 0.12.4、hermes-agent 0.19.0、Midjourney Version 8.2、Suno V5.5、Apple 26.6 stableはいずれも変更ありません。 90
2026-07-29 完全性を修正:7月21日の項目で漏れていたTS SDK v0.3.216の3フィールド。 claude-agent-sdk-typescriptのchangelogをこのガイドと照合し直したところ、v0.3.216のフィールド一覧から3つ漏れていることが判明しました。rewindFilesのresponseには、rewindの安全guardによって復元または削除が拒否されたpath数を示す任意のskippedLinksが含まれます。また、成功resultのメッセージには、host間でrequest latencyを関連付けるための任意のuser_message_uuidrequest_sent_wall_msが含まれます。本文の一覧と75の両方に追加しました。新しい脚注はありません。v0.3.215〜v0.3.220の範囲にあるその他の変更は、subagentのnesting depthの履歴(リリース時は5、v2.1.217で1に削減、v2.1.219で3に確定)やconcurrency上限20を含め、すでに網羅されていました。SDKのchangelogにある「depth上限を5から1に引き下げた」という行は古い時点のsnapshotであり、このガイドではその後の値まで追跡済みです。Agent SDKのnpm最新版が0.3.220(7月24日)、PyPI版が0.2.128であることを確認しました。この期間に新しいリリースはありません。 75
2026-07-27 レンダリングを修正しました。内容の変更はありません。このchangelogのheaderでは2列しか宣言されていなかった一方、各行には3列あったため、python-markdownがすべての行をDateChangeまでで切り詰め、Sourceセルを警告なく削除していました。これにより、9件の脚注引用([^83][^84][^85][^103][^105][^107][^108][^110][^111])も失われていました。この9件は他の場所から引用されていなかったため、各脚注は参照一覧には表示されるものの、戻る矢印のリンク先がページ内に存在しない状態でした。headerをDate \| Change \| Sourceに修正し、9件すべてを復元しました。サイト固有のmarkdown設定でガイドをレンダリングし、id="fn:N"id="fnref:N"を比較して検証しました。修正前は有効な参照が77件、修正後は86件となり、孤立した参照は0件です。今回の作業では、FastAPI + HTMXガイドとObsidianガイドでも同じ不具合を発見して修正しました。ios-agent-developmentには別種の未修正の引用漏れがあり、同ガイドのレポートに記載しています。
2026-07-25 ガイド v1.27:ネスト深度のデフォルトを修正(1ではなく3)、Claude Opus 5、第4のガードレール軸。 訂正 — subagent の生成深度は3に戻りました(v2.1.219):「デフォルトでは、subagents が深度3までネストした subagents を生成できるようになりました(従来は1)。ネストを無効にするには CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 を設定します」。デフォルトは5でリリースされ(v2.1.172)、1に削減された後(v2.1.217)、3に落ち着きました(v2.1.219)。後者2回の変更は3日間で行われています。Recursion Guard サブセクションでは、いずれのデフォルト値も確定済みとして扱わないようにしました。深度は不安定なプラットフォームパラメーターであるため、継承せず、CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH で明示的に固定すべきだと説明しています。関連する修正として、--forward-subagent-text が深度2以上の subagents も転送するようになりました。生成元となった Agent の tool_use id がキーとなるため、すべての行が直接の子から届くと仮定せず、その id で転送テキストをグループ化してください。DirectoryAdded hook(CC v2.1.219 + TS SDK v0.3.219): MessageDisplay(v2.1.152)以来初の新しいライフサイクルイベントです。/add-dir、または SDK の register_repo_root 制御リクエストによってセッション途中に作業ディレクトリが登録された後に発火します。起動時のワークスペース検証(信頼性チェック、シークレットスキャン、パススコープのルール、リポジトリ単位のポリシー)は、このイベントで再実行する必要があります。イベント表は30件になりました。sandbox.network.strictAllowlist(v2.1.219): サンドボックス化されたコマンドについて、許可リストにないホストを確認なしで拒否します。決定論的に外向き通信を拒否する仕組みであり、v2.1.216の sandbox.filesystem.disabled と組み合わせて利用できます。「まず環境レイヤーで封じ込める」という方針に設定インターフェースが追いついたものとして、containment-patterns サブセクションに追加しました。オーケストレーションの幅が第4のガードレール軸に(v2.1.219): 動的ワークフローでは、中規模の目安(「エージェント数を15未満に抑える」)がデフォルトになりました。新しい workflowSizeGuideline キーを使い、任意の設定ファイルから変更できます(TS SDK の設定型にも追加)。実行中ワークフローのステータス行にも表示されます。従来の3軸(生成数、深度、同時実行数)は4軸となりました。また、15という値は暴走時のヒューズではなく、このガイドにおける12エージェントの deliberation 予算と同程度の規模になっています。Claude Opus 5(claude-opus-5、7月24日): 新しいデフォルトの Opus です。コンテキストは1M、料金はMTokあたり$5/$25(Opus 4.8と同額)、fast mode は約2.5倍の速度で$10/$50です。Frontier-Bench v0.1ではOpus 4.8のスコアを2倍以上に伸ばし、CursorBench 3.2では半分のコストでFable 5のスコアとの差を0.5%以内に収めています。このガイドの推奨するエージェント向けデフォルトをOpus 4.8からOpus 5へ変更しました。Opus 4.7は fast mode の対象外となり(/fast はOpus 5とOpus 4.8に適用)、auto-mode classifier におけるFable-5のフォールバックはOpus 5に解決されます。changelog のみ:Py SDK v0.2.127 — バックグラウンドタスクが PreToolUse hooks を通知なしに迂回していました。バックグラウンドの subagents がまだ実行中であるにもかかわらず、query() が最初の result フレームで stdin を閉じていたため、それらの SDK-MCP ツール呼び出しが "Stream closed" で失敗し、さらに hook もスキップされていました(#1103)。TS v0.3.208のabort→hook-successに続き、1か月で2件目のhook強制処理の迂回です。このパターンを SDK hook-streaming の注意事項に明記しました。SDK 側の強制処理はライフサイクルの境界で、しかも通知なしにフェイルオープンします。迂回された hook は、承認した hook と同じように見えるためです。TS SDK v0.3.219: interrupt 制御リクエストにオプトインの cancel_queued(capability interrupt_cancel_queued_v1)、result と init に fast_mode_disabled_reason を追加。モデル切り替え後、init レスポンスが生成時モデルの fast_mode_state を報告しないようになりました。CC v2.1.219 MCP 診断機能: headless stream-json の init イベントに mcp_server_errors を追加。接続失敗時の claude mcp list / /mcp にHTTPステータスとエラーテキストを表示。MCP 設定値に不可視の空白がある場合の警告も追加されました。managed-settings のスコープ: managed MCP の許可リスト/拒否リスト内の ${VAR} エントリは、設定ファイルの環境ではなく、起動時の環境とmanaged-settingsの環境から解決されるようになりました。ガバナンスに関わる解決順序の変更です。その他:claude -p は、ターンがストリーム途中で停止しても、すでに生成されたテキストを破棄しなくなりました。CLAUDE_CODE_GIT_BASH_PATH がbash/shバイナリを指していない場合は、警告を表示して無視します。同梱のclaude-api skillはデフォルトでOpus 5を使用します。CC v2.1.220 / TS v0.3.220 / Py v0.2.128(7月25日):バグ修正とパリティ更新のみです。MCP:規範的なマージはありません。stateless specは引き続き2026年7月28日に公開予定です。 84 85 91
2026-07-24 ガイド v1.26:Anthropic のcontainment-patterns投稿を反映 + Claude Code v2.1.218。 Security Considerationsに、Anthropic のエンジニアリング投稿「How we contain Claude across products」(2026年5月25日)を基にした「製品を横断する3つのContainmentパターン」サブセクションを追加しました。サーバー側の一時的なgVisorコンテナ(claude.ai)、人間が介在するOSサンドボックス(Claude Code:Seatbelt/bubblewrap、オープンソース化された sandbox-runtime)、プラットフォームのハイパーバイザー上に構築した密閉型VM(Claude Cowork:Apple Virtualization framework / Windows HCS、認証情報はホストのキーチェーンに保存し、スコープ付きで取り消し可能なセッショントークンをVM内の防御的MITMプロキシが強制)を取り上げています。さらに、この投稿で示されたharness設計の原則も追加しました。まず環境レイヤーで封じ込めること、分離方法をユーザーの監督能力に合わせること、独自の分離コードより実戦で検証されたプリミティブを選ぶこと、プロジェクトローカルの設定とツール出力を信頼できない入力として扱うこと、認証情報をサンドボックスの外に置くことです。changelog のみ:CC v2.1.218(7月22日)— auto-mode classifier が権限ダイアログを開く代わりに、危険なrm、バックグラウンドの&、不審なWindowsパスのチェックを判定します。autoを使用するplan modeでは、静的解析器が読み取り専用だと証明できないBashをclassifierへ送ります。agent frontmatter hooksを使用するには、agentファイル自体があるフォルダーでワークスペースの信頼を承認している必要があります。context: fork skillsはデフォルトでバックグラウンド実行されます(background: false で無効化)。/code-review はバックグラウンドの subagent として実行されます。/deep-research は自己呼び出しを行わなくなりました。headless/SDK セッションでは、compaction後もfork-sessionの系統が維持されます。Ctrl+B によるバックグラウンド化では、バックグラウンドシェルの上限が守られます。TS SDK v0.3.218(7月22日):SkillToolOutput.background フラグ、ストリーム途中の429/529を報告する api_error_statusmodelUsagecanonicalModel + provider。Py SDK v0.2.126(7月22日):ResultMessage.terminal_reasoncanonicalModel/provider を備えた型付き model_usage、CLI v2.1.218を同梱。MCP:規範的なマージはありません。stateless specは引き続き2026年7月28日に公開予定です。 81 82 83
2026-07-22 ガイド v1.25:Claude Code v2.1.217 — recursive-subagentの方針撤回 + 同時実行数の上限。 ネスト生成はデフォルトで無効: subagents が自身の subagents を生成しなくなりました。v2.1.172で導入された5階層の再帰デフォルトはv2.1.216まで続きましたが、それより深いネストは CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH で明示的に有効化する方式になりました(Recursion Guard サブセクションを改稿)。同時実行数の上限: 同時実行中の subagents はデフォルトで20に制限されます(CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)。これにより、1つのメッセージからバックグラウンドエージェントが無制限に分岐することを防ぎます。ファーストパーティのガードレール群は、ユーザー側の生成予算ガードが追跡する3つの軸をすべて網羅するようになりました。セッションごとの総生成数(v2.1.212、上限200)、ネスト深度(v2.1.217、デフォルトは1階層)、同時実行の幅(v2.1.217、デフォルト20)です。changelog のみ:CC v2.1.217では、--max-budget-usd が実際にバックグラウンドの subagents を停止するようになりました。上限に達すると新規生成が拒否され、実行中のバックグラウンドエージェントも停止します。バックグラウンドセッションの分離では、シンボリックリンクを含む作業ディレクトリが正規化されます。Py SDK v0.2.125は、SDK のインターフェースに変更を加えずに CLI v2.1.217を同梱しています。TS SDK v0.3.217も同時にリリースされました。MCP PR #3092(7月21日マージ):番号が変更されたドラフトスキーマおよび適合性テストスイートに、SEP-2575のエラーコードを一致させる規範的な修正です。7月28日のリリースに向けた準備が続いています。 78 79 80
2026-07-21 ガイド v1.24:Claude Code v2.1.214~v2.1.216のパススコープ設定とworktree強制適用の堅牢化、Codex v0.145.0のmulti-agent V2とcross-harnessインポート。 パススコープ付きルールをcwdに固定(v2.1.214): 単一セグメントのdir/** allowルール(例:Edit(src/**))では、ツリー内の任意の階層にあるdir/への書き込みが自動承認されていましたが、今後は<cwd>/dirのみに固定されます。単一セグメントのdir/**を指定したhookのif:条件も同様にcwd限定となります(任意の階層を対象にするには**/dir/**と記述します)。deny/askルールでは、意図的に任意階層でのマッチングを維持します(非対称なフェイルセーフです。allowは安全側に倒して確認を求め、denyは誤って許可されてはなりません)。worktree分離を強制適用レベルに強化(v2.1.216): worktreeのsubagentsがgit -C--git-dir、またはGIT_DIR/GIT_WORK_TREEを使ってgitを共有チェックアウトへ向け直せる問題を解消しました。worktreeセッションが別プロジェクトの残存worktreeで開始されることもなくなりました。ワークフローやスケジュール済みタスクによる書き込みは、.claudeに仕込まれたシンボリックリンクをたどらなくなり、/rewindはシンボリックリンクとハードリンクを拒否します。skills自動有効化の撤回(v2.1.215): Claudeが同梱の/verifyおよび/code-review skillsを自動実行しなくなり、明示的な呼び出しのみとなりました。Codex v0.145.0: オプトインのmulti-agent V2が安定化しました(sub-agentのモデル、推論レベル、同時実行数を設定可能になり、ロールも復元)。/importでは、Claude CodeとCursorの設定、MCPサーバー、プラグイン、セッション、コマンド、プロジェクトスコープのメモリを移行できるようになりました。v0.140.0を拡張した完全なcross-harness移行です。changelogのみ:CC v2.1.214のEndConversationツール。フェイルクローズ方式によるBash/PowerShellの一連の堅牢化(fdリダイレクトはフェイルクローズ、10,000文字を超えるコマンドは常に確認、zshの添字指定は確認、help/manの自動許可を廃止、docker/Podmanのデーモン転送フラグは確認、file -m/-fには権限が必要、PowerShell 5.1のバイパスを修正)。stdoutのJSONがスキーマ検証に失敗した場合でも、hookの終了コード2によるブロックが有効になりました。メモリのfrontmatterにISO形式のmodifiedタイムスタンプが追加され、行内の#で暗黙に切り捨てられることもなくなりました。OTelにmessage.uuid/client_request_id/tool_sourceCLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHを追加。CC v2.1.216ではsandbox.filesystem.disabled(ファイルシステム分離なしでネットワーク送信を制御)を追加。再開したバックグラウンドagentセッションでは、そのagentのプロンプトとツール制限が復元されます。セッション途中で変更したskillやコマンドも、再起動せずにスラッシュメニューへ反映されます。TS SDK v0.3.214/v0.3.216:set_permission_modeは不明なモードを拒否。割り込みで切り詰められたメッセージにはaborted: trueを設定。tool_progresssubagent_type/subagent_retryを追加。タスク通知のサブ種別にscheduled-triggerを追加。SessionStartのsourceに"fork"を追加。tool_result_metaサイドカー(non_execution_kinduser_feedback)を追加。rewindFilesは、巻き戻しの安全ガードが復元または削除を拒否したパスをskippedLinksとして報告。成功結果には、ホスト間でリクエストレイテンシーを相関分析するためのuser_message_uuidrequest_sent_wall_msを追加。Py SDK v0.2.124:WindowsのBatBadBut系の問題を修正(.bat/.cmdの起動を拒否。resume/session_id内のcmd.exeメタ文字でValueErrorを発生。ハイフンで始まるextra_args--flag=value形式でバインド)。Codex v0.145.0の堅牢化:MCPの起動タイムアウト、OAuth更新の直列化、ノンブロッキングなOAuth探索、強制rm検出の強化、拒否理由の保持、実験的なページネーション付きスレッド履歴。MCP 2026-07-28リリース準備(ドキュメントPR #3064/#3066/#3098、7月21日マージ):Tasksを任意のio.modelcontextprotocol/tasks拡張として提供する仕様を確定。HTTP+SSEはStreamable HTTPを優先して非推奨となりました。 74 75 76 77
2026-07-17 ガイド v1.23:Claude Code v2.1.203~v2.1.212の暴走ループ防止策とインジェクション対策の堅牢化、TS SDKのプロトコルインターフェース、MCPのステートレスIDドラフト、Codex/OpenAIとの機能同等化。 ファーストパーティの暴走ループ防止策(v2.1.212): セッションごとのsubagent生成上限(デフォルト200、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION/clearでリセット)とWebSearch上限(200、CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION)が追加され、ユーザー側で実装していた生成予算パターンにネイティブの安全策が加わりました。Taskツールのmodeパラメーターは非推奨となり、subagentsは親セッションの権限モードを継承します。/forkは新しいバックグラウンドセッションを作成するようになり、従来のセッション内バリアントは/subtaskへ改名されました。2分を超えるMCP呼び出しは自動的にバックグラウンドへ移行します(CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS)。hookと自動モードの優先順位(v2.1.211): PreToolUseaskは判断の下限を確認プロンプトに固定し、自動モードがサンドボックス外のBashに対して上書きすることはできません。stream-json向けに--forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXTを追加。「常に許可」ルールはworktreeをまたいでリポジトリルートに保持されます。権限プレビューでは、双方向テキスト、ゼロ幅文字、類似文字による偽装を無害化します。v2.1.210: worktree分離されたsubagentsがメインのチェックアウトを変更する問題を修正。Agent toolは、subagentが読み取ったコンテンツからの間接的なインジェクションに対して堅牢化されました。自動モードの分類器はデフォルトでSonnet 5を使用し、セッション単位で固定されます。MEMORY.mdの上限を超える書き込みは、暗黙に切り捨てられずエラーになります。v2.1.207/v2.1.208: Bedrock/Vertex/Foundryで自動モードがGAとなりました(disableAutoModeでオプトアウト)。壊滅的な削除に対する確認は、--dangerously-skip-permissionsと自動モードを使用していても表示されます。企業向けランチャーとしてCLAUDE_CODE_PROCESS_WRAPPERを追加。MCPツール数が多い場合、ツールラウンドは最大7倍高速化し、トランスクリプトは79分の1に縮小しました。v2.1.203~v2.1.206: 捏造防止(トランスクリプトファイルの改ざんをブロック。バックグラウンドタスクの通知には、人間からの入力がなかったことを明記)。MCPのroots/listは追加の作業ディレクトリをroots/list_changedとともに含めます。/doctorは、コードベースから導出できるCLAUDE.mdの内容を削減するよう提案します。TS SDK v0.3.205~v0.3.208: 型付き割り込み受領情報(still_queuedinterrupt_receipt_v1)、command_lifecycleフレーム、AgentToolCompletedOutputupdatedInputなしのcanUseTool {behavior:'allow'}。v0.3.208のセキュリティ修正では、保留中のhook実行中に呼び出し元が中断するとhook成功として扱われ、PreToolUseで制限されたツールが中断後に実行される問題を解消しました。MCPドラフト仕様(PR #3002、7月16日マージ): 任意の自己申告型io.modelcontextprotocol/serverInfoレスポンス_metaと任意のclientInfoを追加。表示とログ記録専用で、セキュリティ判断に使用すべきではありません。最終的なステートレス仕様は2026-07-28にリリースされます。Codex: v0.143.0では、ツール検索を通じたMCPツールがデフォルトになりました(遅延ツール読み込み)。v0.144.0ではwritesアプリ承認モードとMCPの対話型認証がGAとなり、v0.144.5では危険なコマンドの検出範囲が拡大しました。OpenAIホスト型multi-agentベータ: openai-agents-python v0.18.2(7月11日)とopenai-agents-js v0.13.2(7月10日)。changelogのみ:SDKのargvフラグインジェクション修正(TS 0.3.212 / Py 0.2.121 — ハイフンで始まるresume/session_id値をequals形式で渡すよう変更)。BashToolOutput.timedOutAfterMsSDKAssistantMessage.timestamp。CC v2.1.204のヘッドレスSessionStartストリーミング修正。openai-agentsのGPT-5.6デフォルト。MCPのMcp-Param-*拒否時における再試行ガイダンス。 68 69 70 71 72 73
2026-07-07 ガイド v1.22:Claude Code v2.1.196~v2.1.202。 Sonnet 5が出荷時のデフォルトモデルになりました(v2.1.197)。モデル階層に関する注記を改訂しました(このガイドでは、自律型harnessのagenticデフォルトとして引き続きOpus 4.8を推奨します)。subagentsはデフォルトでバックグラウンド実行されます(v2.1.198)。backgroundフィールドはオプトイン指定ではなく、動作を固定するためのものになりました。Explore agentはセッションのモデルを継承します(上限はOpus)。subagentsとcompactionは拡張思考設定を継承します。バックグラウンドのclaude agentsセッションは自動的にコミット、プッシュ、ドラフトPRの作成を行い、agent_needs_input/agent_completedを指定してNotification hookを発火します。/agentsウィザードは削除されました.claude/agents/を直接編集してください)。v2.1.199: SessionStart/Setup/SubagentStart hooksは、終了コード2の場合にstderrを表示します。SendMessageで再利用された名前による誤配送の検出を、セッション間の権限に関する注記へ追加しました。積み重ねたスラッシュskillsは最大5個まで読み込まれます。v2.1.200: subagentのpermissionMode一覧では、default権限モードが「Manual」(manualエイリアス)と表示されます。v2.1.196: ガバナンスセクションに組織全体のデフォルトモデルを追記。MCPの自己承認を封じました。SDKの現行バージョン: claude-agent-sdk v0.2.111(Python、CLI v2.1.202を同梱)/ @anthropic-ai/claude-agent-sdk v0.3.203(TS)。文書化済みの0.1.xインターフェースから段階的に拡張されています。 67
2026-07-02 ガイド v1.21:hookマッチャーと分類器のガバナンス更新。 Claude Code v2.1.195:ハイフンを含む識別子のマッチャーが、部分一致ではなく完全一致するようになりました(Hook Architectureのマッチャーセマンティクスを参照)。Claude Code v2.1.193:autoMode.classifyAllShellはすべてのshellを自動モード分類器へ渡し、拒否理由をトランスクリプト、トースト、/permissionsに表示します(Security Considerationsを参照)。Codex v0.142.2:ASTを解析できない領域を含むPowerShellは、承認が必要になりました。今回の更新サイクルでは、すべての項目を正規のchangelogと照合して確認しています。 66
2026-06-20 ガイド v1.20:Claude Code v2.1.183 + Codex v0.141.0 — ガバナンスとリモート実行のセキュリティ。 Security Considerations に自動モードの破壊的コマンドに対するガードレール(CC v2.1.183 では、ユーザーから指示がない限り、git reset --hard/checkout -- ./clean -fd/stash drop、エージェント以外によるコミットへの git commit --amend、名前付きスタックを指定しない terraform/pulumi/cdk destroy を強制的にブロック)を追加し、パラメータレベルのルールと生成時の審査を補完する、意図レベルの対策として位置づけました。また、Codex Parity Notes に暗号化された Noise リレー方式のリモート executor(Codex v0.141.0:executor チャネルのエンドツーエンド暗号化、プラットフォームをまたいだ cwd/シェルの保持、P-521 TLS)を追加しました。 65
2026-06-16 ガイド v1.19:Claude Code v2.1.173〜v2.1.179 のガバナンスおよびスコープ指定プリミティブと、Codex v0.140.0 のクロスツールインポート。 v2.1.178 リリースの内容を本文に反映しました。Security → Permission Boundaries には、* ワイルドカードに対応したパラメータレベルの権限ルール Tool(param:value)(例:モデル階層をブロックする Agent(model:opus))と、enforceAvailableModels 管理設定(v2.1.175)を追加しました。Subagent Patterns には、自動モードで起動前に subagent の生成を審査するようになり、生成を迂回手段として利用できる抜け穴が塞がれたことを追加しました。Skills System には、ネストされた .claude/ ツリー内の skills/agents/workflows/output-styles に対するネストされた .claude/skills の読み込みと、最も近い定義を優先する解決方式を追加しました。さらに、Subagent Configuration Fields には disallowedToolsMCP サーバー仕様マッチングの修正を反映しました。Codex の互換性に関する注記には、クロスツールの移植性を実現する /import とセッションの完全削除(v0.140.0)を追加しました。 63 64
2026-06-10 ガイド v1.18:再帰的な sub-agents(Claude Code v2.1.172)。 Recursion Guard のサブセクションに注記を追加しました。Claude Code の sub-agents は自身で sub-agents を生成できるようになり、最大5階層までネストできます。これまでは、実質的に1階層の委任に限られていました(v2.1.172、6月10日)。ユーザーランド側の生成予算/深度上限パターンは、5階層のツリーが際限なく拡大するのを防ぐ制御として再定義しました。5階層はデフォルトではなく、プラットフォーム上の上限として扱います。 62
2026-06-09 ガイド v1.17:Claude Code v2.1.169〜v2.1.170 + Codex v0.138.0〜v0.139.0 のガバナンスおよび multi-agent-v2 の堅牢化。 検証済みの harness アーキテクチャに関する5つの変更を本文に反映しました。Skills System には、「ガバナンスとしてバンドル済み機能を非表示にする」サブセクションを追加しました。disableBundledSkills 設定(および CLAUDE_CODE_DISABLE_BUNDLED_SKILLS 環境変数)により、バンドルされた skills、workflows、組み込みスラッシュコマンドをモデルから非表示にし、意図的に攻撃対象領域を縮小できます(v2.1.169)。6月の Hook Architecture サブセクションには、--safe-mode フラグ(および CLAUDE_CODE_SAFE_MODE)を追加しました。これは、クリーンルーム環境でのトラブルシューティングとガバナンスのため、CLAUDE.md、plugins、skills、hooks、MCP というすべてのカスタマイズを無効にしてセッションを開始するものです(v2.1.169)。さらに、モデル階層に関する注記も追加しました。Anthropic の Claude Fable 5claude-fable-5)は、Opus より上位の Mythos クラスとして6月9日に登場し、v2.1.170 では /model claude-fable-5 で選択できます。なお、Opus 4.8 は引き続き Claude Code のエージェント向けデフォルトです。Memory and Context には、セッション途中のプロンプトキャッシュを損なわずに作業ディレクトリを変更できる /cd コマンド(v2.1.169)を追加しました。Multi-Agent Orchestration / Codex Parity は、本番運用に向けて堅牢化されました。具体的には、close_agentinterrupt_agent に改名され(v0.139.0)、エージェント間メッセージのペイロード暗号化、v2 エージェント設定カタログ、エージェント常駐管理の LRU、実行中の処理に基づく同時実行数の算定(v0.138.0)が導入されました。また、リモート/シンボリックリンク環境のワークスペースで正しいファイルを選択できるよう、AGENTS.md の検出が論理パスを保持したまま環境のファイルシステム経由で行われるようになり(v0.138.0/v0.139.0)、subagent の MCP 起動警告は親スレッドに重複表示されず、所有元のスレッドだけに限定されるようになりました(v0.139.0)。 60 61
2026-06-08 ガイド v1.16:Claude Code v2.1.162〜v2.1.166 + Codex v0.137.0 による6月のエージェントアーキテクチャパターン。 harness に関連する4つの変更を扱う「Stop-hook による方向修正、セッションをまたぐ権限、multi-agent v2」サブセクションを追加しました。(1)Stop/SubagentStop hooks は hookSpecificOutput.additionalContext を返せるようになり、hook-error ブロックを発生させずに「まだ完了していない理由」をフィードバックとして注入し、ターンを継続できます(v2.1.163)。(2)セッションをまたぐメッセージングが堅牢化され、別のセッションから SendMessage で中継されたメッセージは、送信元ユーザーの権限を引き継がなくなりました。受信したエージェント間メッセージは、信頼できないデータとして扱う必要があります(v2.1.166)。(3)fallbackModel 設定では最大3つのバックアップモデルを連鎖させ、再試行不能な API エラー時に1回だけフォールバック再試行できます。また、claude agents --json にフリートの可観測性を高める waitingFor フィールドが追加されました(v2.1.162/166)。(4)Codex multi-agent v2(v0.137.0)では、各スレッドが runtime を保持し、hide_spawn_agent_metadata のデフォルトが true になりました。親イベントは子リスナーへ伝播され、ターンごとのカタログ解決とスレッド開始/ターンエラーのライフサイクル contributor イベントを備えた v1 skills 拡張も追加されています。AGENTS.md の仕様には変更がありません(引き続き Agentic-AI-Foundation が管理し、バージョン管理された変更履歴はありません)。 59
2026-05-31 ガイド v1.15:Claude Code v2.1.157 + Hermes v0.15.1/v0.15.2 パッチ。 .claude/skills/ における Plugin と Skill の統合」サブセクションを追加しました。Claude Code v2.1.157 では、プロジェクトの .claude/skills/ ディレクトリ内にある任意のフォルダが、マーケットプレイスへの登録なしで plugin として自動的に読み込まれます。また、claude plugin init <name> を実行すると、manifest と SKILL.md を備えた新しい plugin がその場所に生成されます。harness にとっての意味は明確です。スコープの小さいプロジェクト用ツールをバージョン管理下に置くために、manifest の負担を負う必要がなくなりました。一方、バンドルしてインストールできる ZIP 形式は、引き続き plugins が担います。同じリリースでは、セッション途中に Claude が管理する worktrees 間を切り替えられる EnterWorktree も提供されています。また、エージェントの終了後もバックグラウンド worktrees はロックされないため、git worktree remove/prune を問題なく実行できます。Hermes Agent v0.15.1(5月29日)は、同日リリースされた Velocity のホットフィックスです。ループバックモードにおけるダッシュボードの 401 再読み込みループが修正され、Docker では HERMES_DASHBOARD_INSECURE=1 の明示的な指定が必須になりました。MCP のベアコマンド(npxnpmnode)は Docker で解決されるようになり、Skills ページも復旧しました。Kanban workers は SIGTERM に正常に応答し、Skills.sh カタログはサイトマップを通じて858件から19,932件へ拡大しています。Hermes v0.15.2(5月29日)はパッケージングのみのホットフィックスで、wheel および sdist ディストリビューションに plugin.yaml manifests が同梱されます。 58
2026-05-28 ガイド v1.14:Claude Code v2.1.152-v2.1.154 + Codex v0.134.0-v0.135.0 + Hermes v0.15.0 のアーキテクチャパターンを反映。 Claude Code ではデフォルトが変更され、オーケストレーションの基本要素が追加されました。Opus 4.8 がデフォルトとなり、デフォルトの effort は high、新たに /effort xhigh も追加されました。dynamic workflows/workflows を通じて、バックグラウンドで数十から数百のエージェントをオーケストレーションします。簡素なシステムプロンプトが、Haiku/Sonnet/Opus 4.7 以前を除くすべてのモデルでデフォルトになりました。新しい MessageDisplay hook イベントでは、表示時に assistant テキストを変換または非表示にできます。skill/command frontmatter の disallowed-tools は、skill がアクティブな間、指定したツールを除外します。/reload-skills は再起動せずに skill ディレクトリを再スキャンします。SessionStart hooks は reloadSkills: true を返し、hookSpecificOutput.sessionTitle を設定できます。--fallback-model はプライマリモデルが利用できない場合に、セッション途中でモデルを切り替えます。auto mode はオプトイン同意が不要になりましたpluginSuggestionMarketplaces managed setting では、コンテキストに応じた提案に使用できる組織の marketplace を許可リストで指定できます。claude agents! <command> によるバックグラウンド shell セッションに対応しました。plugin では defaultEnabled: false を宣言できます。stdio MCP subprocess の環境には、CLAUDE_CODE_SESSION_IDCLAUDECODE=1 が含まれるようになりました。Codex v0.134.0 では、CLI、TUI の権限、sandbox の各フローで --profile が主要な profile セレクターになりました(旧形式の設定は拒否され、移行方法が案内されます)。また、ローカルの会話履歴検索を追加し、サーバーごとの環境指定と streamable HTTP サーバー向けの OAuth によって MCP のセットアップを改善しました。さらに、読み取り専用の MCP ツールが readOnlyHint を通知している場合、並行実行できるようになりました。v0.135.0 では、より詳細な codex doctor 診断、/status のリモート情報、vim の text-object 編集、/permissions の名前付き permission profile、Python SDK の Sandbox preset が追加されました。Hermes Agent v0.15.0(5月28日)は、Velocity リリースです。run_agent.py の76%を14モジュールにわたってリファクタリングし、自動分解と swarm topology を備えた multi-agent Kanban v2、provider ごとのキーを単一の bootstrap token に置き換える Bitwarden Secrets Manager、3つのセキュリティ chokepoint で Brainworm クラスの prompt injection を防ぐ Promptware defense、skill bundle、1つのターミナルで複数セッションを管理する TUI session orchestrator、LLM 依存関係を削除して4,500倍高速化した session_search を搭載しています。harness アーキテクチャへの示唆として、名前付き profile パターン(Codex の --profile、Claude Code の pluginSuggestionMarketplaces)は、マルチテナントのエージェントランタイムにおける標準的な設定要素になりつつあります。並行実行可能な読み取り専用 MCP ツール(Codex の readOnlyHint)は、変更を伴わないコンテキスト取得を並列展開するうえで適切なパターンです。MessageDisplay hook によって、PostToolUseStop では扱えなかった変換処理を、運用者が第一級の処理面として利用できます。また、簡素なシステムプロンプトがデフォルトになったことで、運用者が定義するコンテキストと provider の scaffolding の間に長年存在したトレードオフが解消されました。 55 56 57
2026-05-24 ガイド v1.13:Claude Code v2.1.150 + OpenAI Agents SDK v0.17.3 のセキュリティ/最新性を反映。 ローカルの claude --version2.1.144 (Claude Code)、npm における @anthropic-ai/claude-code の latest は 2.1.150、GitHub の latest release は v2.1.150 を返しました。PowerShell の permission bypass 修正、PowerShell の allow rule/古い変数に関する permission analysis の修正、git-worktree sandbox の write allowlist 修正について、v2.1.149 の harness ガイダンスを追加しました。また、v2.1.150 は内部インフラストラクチャのみの変更で、ユーザー向けの変更は発表されていないことを記載しました。PyPI における openai-agents の latest は 0.17.3 を返したため、OpenAI sandbox のセクションに、archive extraction、GitRepo subpath、sandbox credential、相対 workspace root、provider の terminal state 処理を対象とする0.17.1〜0.17.3の追加 hardening を記載しました。5354
2026-05-21 ガイド v1.12:Claude Code v2.1.147 の Workflow を反映。 ローカルの claude --version2.1.144 (Claude Code)、npm における @anthropic-ai/claude-code の latest は 2.1.147 を返しました。デフォルトでは無効な Workflow ツールを、ファーストパーティの決定論的 multi-agent orchestration の基本要素として追加しました。また、hooks、テスト、review gate、spawn budget、evidence report が引き続き正しさを保証する境界であることを明確にしました。52
2026-05-15 ガイド v1.11:Claude Code v2.1.142 のバックグラウンドセッションと plugin の信頼性を反映。 ローカルの claude --version2.1.141 (Claude Code)、npm における @anthropic-ai/claude-code の latest は 2.1.142 を返しました。新しい claude agents dispatch flag、Opus 4.7 Fast-mode のデフォルト、ルートレベルの plugin SKILL.md 検出、plugin LSP の可視性、MCP_TOOL_TIMEOUT のリモート HTTP/SSE 動作、バックグラウンドセッション/daemon/plugin cache の信頼性修正について、運用者向けガイダンスを追加しました。51
2026-05-14 ガイド v1.10:Claude Code v2.1.141 の運用者向けシグナルとスコープ設定を反映。 ローカルの claude --version と npm における @anthropic-ai/claude-code の latest は、いずれも 2.1.141 (Claude Code)2.1.141 を返しました。terminalSequence は強制ではなく運用者へのシグナルとして使用するという hook ガイダンスを追加し、ディレクトリ単位で Agent View のスコープを設定する claude agents --cwd <path> を記載しました。また、plugin のインストールと workload-identity federation のスコープ設定に対する CLAUDE_CODE_PLUGIN_PREFER_HTTPS および ANTHROPIC_WORKSPACE_ID のアーキテクチャ上の影響を文書化しました。50
2026-05-13 ガイド v1.9:Claude Code v2.1.140 の信頼性を反映。 ローカルの claude --version2.1.140 (Claude Code) を返しました。agent-hook ガイダンスに subagent_type を追加し、v2.1.140 における ConfigChangedisableAllHooksallowManagedHooksOnly、permission dialog での環境変数表示、設定同期後の custom style reset、Windows Git Bash の native package fallback、/scroll-speed の動作に関する修正を反映して、hook governance セクションを更新しました。49
2026-05-11 ガイド v1.8:Claude Code v2.1.139 の最新性を反映し、エージェントのセキュリティ/memory に焦点を当てて調査。 ローカルの claude --version が2.1.139であることを確認し、v2.1.139の運用上の変更を追加しました。対象は、claude agents による Agent View、/goal completion loop、command-hook の argsPostToolUsecontinueOnBlock、MCP の CLAUDE_PROJECT_DIR、OpenTelemetry の active-time 修正です。424344 「The Memory Curse」の arXiv preprint に基づく memory curation の警告、PR lifecycle に関する arXiv preprint に基づく人間の merge authority ガイダンス、Gryph Agents および LiteLLM の advisory に基づく agent log/guardrail のセキュリティガイダンスも追加しました。45464748 Skills、Hooks、Subagents の token budget 表に残っていた古い2%という値を修正し、現在の skill description budget である1%/8,000文字に更新しました。
2026-05-09 ガイド v1.7:Claude Code v2.1.136 + openai-agents-python v0.17.0 の3日目のフォローアップ。 Hook Architecture に autoMode.hard_deny と v2.1.136 の hook/plugin 修正に関するサブセクションを追加しました。対象は、新しい無条件 block tier、VS Code/JetBrains/Agent SDK 全体で /clear 後に MCP が消える問題の修正、同時 refresh 時に MCP OAuth の refresh token が失われる問題、Edit(...) allow rule に一致した場合に plan mode の write block が機能しない問題、plugin の StopUserPromptSubmit における cache cleanup の競合、skills エントリによってデフォルトの skills/ ディレクトリが非表示になる問題、/resume/clear 後に CLAUDE_ENV_FILE SessionStart-hook の環境変数が古いままになる問題です。40 Production Patterns に OTel Feedback Survey サブセクションを追加し、CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL を取り上げました。40 The Sandbox サブセクションには、openai-agents-python v0.17.0 の lockdown を追記しました。LocalFile.srcLocalDir.src は、SandboxPathGrant を使用して Manifest.extra_path_grants から許可しない限り、base_dir 内に制限されます。41 Managed vs. Self-Hosted Harnesses に、RealtimeAgent のデフォルトモデル(gpt-realtime-2)に関する注記を追加しました。41 Changelog のみ:Claude Code v2.1.137(Win VSCode の activation 修正)、v2.1.138(内部修正)、claude-agent-sdk-python v0.1.78(CLI v2.1.136 bundle)、v0.1.79(CLI v2.1.137 bundle)、v0.1.80(CLI v2.1.138 bundle)。
2026-05-08 ガイド v1.6:Claude Code v2.1.132/v2.1.133 + SDK v0.1.77 の2日目のフォローアップ。 Skills System に SDK Skill Surface サブセクションを追加し、ClaudeAgentOptionsskills オプションと、allowed_tools における "Skill" の非推奨化を取り上げました。37 Hook Architecture に Effort and Session Provenance サブセクションを追加し、新しい effort.level JSON field、hook input の $CLAUDE_EFFORT 環境変数、Bash subprocess の CLAUDE_CODE_SESSION_ID 環境変数を取り上げました。3839 Subagent Configuration Fields 表に Subagent の skill discovery 修正を追加しました(subagents は Skill ツールを通じて project、user、plugin の skills を検出できるようになりました。v2.1.133 より前は通知なく除外されていました)。39 Production Patterns に Worktree Base, Sandbox Paths, and Admin Settings サブセクションを追加し、worktree.baseRef(ローカルの HEAD から origin/<default> へ戻した破壊的なデフォルト変更の撤回)、sandbox.bwrapPathsandbox.socatPathparentSettingsBehavior を取り上げました。39
2026-05-07 ガイド v1.5:Claude Managed Agents、5月6日のサンフランシスコでの発表内容を追加。 Memory and Context に Strategy 5(Managed Memory Curation:Dreaming、Research Preview)を追加し、filesystem-as-memory と Dreaming の対比表を掲載しました。35 Multi-Agent Orchestration の冒頭に Managed Multiagent Orchestration(Public Beta)と Outcomes(Public Beta)を追加しました。共有ファイルシステムを利用するスペシャリストと Claude Console のトレースに関する Anthropic の発言を原文のまま掲載し、セルフホスト型 deliberation との比較表も加えています。さらに、claude-agent-sdk-python v0.1.74 の include_hook_eventsHookEventMessage を扱う、SDK 側の hook event ストリーミングのサブセクションを追加しました。36 Changelog のみ:Claude Code v2.1.124-v2.1.131(claude project purge、プロジェクトディレクトリ向けの --dangerously-skip-permissionsskill_activatedinvocation_trigger、PostToolUse の保存時フォーマット修正、PreToolUse の JSON+exit-2 ブロック修正、skillOverrides 設定)、claude-agent-sdk-python v0.1.72(CLI 2.1.126)、v0.1.73(session_store_flush)、v0.1.75(CLI 2.1.131)、v0.1.76(api_error_status)、openai-agents-python v0.15.0-v0.16.1。後者の v0.16.0(5月7日)では、デフォルトが gpt-5.4-mini となり、暗黙の max_turns 上限が廃止され、SDK 側でのツール実行の並行処理が追加されました。
2026-05-07 ガイド v1.4:Claude Code の hook と skill の仕組みを、最新の公式ドキュメントとローカルでの実行結果(claude --version は 2.1.132、codex --versioncodex-cli 0.128.0 を返却)に基づいて更新しました。hook の対象範囲を 22/26+ から、ドキュメントに記載された 29 イベントへ更新し、skill description の予算を 2%/16,000 から 1%/8,000 に修正しました。また、hook type の数を 4 から mcp_tool を含む 5 に変更し、裏付けのない固定値「10 parallel subagents」という記述を削除しました。さらに、AGENTS.md、skills、hooks、plugins、明示的な subagent ワークフローを扱う、公開しても問題のない Codex パリティのセクションを追加しました。
2026-04-29 ガイド v1.3:Managed vs. Self-Hosted Harnesses セクションの OpenAI Agents SDK に関する内容を拡充し、openai-agents Python v0.14.0(4月15日)で提供された SDK の具体的な構成要素を追記しました。対象は SandboxAgentManifestSandboxRunConfig、progressive disclosure を備えた sandbox memory、workspace mount(S3/R2/GCS/Azure)、ポータブルな snapshot、local/Docker/hosted client backend(Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel)です。二次情報である Help Net Security の引用を、一次情報の v0.14.0 release notes に置き換えました。また、3つ目のセルフホスト型オプションとして claude-agent-sdk-python v0.1.69-v0.1.71(4月28〜29日)についての短い注記を追加しました(Claude Code runtime を Python library として組み込み)。バンドルされた Claude CLI は v2.1.123 に更新され、mcp の最低依存バージョンは >=1.19.0 に引き上げられました(それ以前のバージョンでは、プロセス内の MCP tools から CallToolResult が通知なしに欠落していました)。そのほか、Trio nursery のキャンセル処理修正と、SandboxNetworkConfig の allowlist field を TS SDK と一致させる修正が含まれます。v0.14.7-v0.14.8 の SDK に関する改良点は [^58] に記載しました。
2026-04-25 ガイド v1.2:Google Cloud Next 2026(4月22〜24日) — Vertex AI は Gemini Enterprise Agent Platform に名称変更され、Agentspace は統合された Gemini Enterprise に組み込まれました。Workspace Studio(ノーコードのエージェントビルダー)、Anthropic Claude を含む Model Garden の 200 以上のモデル、Box、Workday、Salesforce、ServiceNow のパートナーエージェント、4言語で正式版となった ADK v1.0 stableProject Mariner(Web ブラウジングエージェント)、Apigee を API からエージェントへの橋渡しとして利用するマネージド MCP servers、150 の組織で本番運用されている A2A protocol v1.0 が発表されました。Microsoft Agent Framework 1.0(2026年4月):安定版 APIs、LTS の確約、MCP の完全サポート、.NET + Python。エージェントの実行とツール呼び出しをリアルタイムで可視化するブラウザーベースの DevUI は、1.0 の安定版機能と同時に preview として提供されます。Salesforce Headless 360(4月15日、TDX):Salesforce のすべての機能(CRM、サービス、マーケティング、eコマース)を API/MCP tool/CLI command として公開し、Claude Code、Cursor、Codex などのエージェントがブラウザーを使わずにプラットフォーム上で構築できるようになりました。(TDX 2026 の開催日は4月15〜16日で、Headless 360 の発表日は4月15日です。)MetaComp StableX KYA(4月21日):規制対象の金融サービス(決済、コンプライアンス、資産管理)向けの Know Your Agent ガバナンスフレームワークです。認可を受けた金融機関が提供するものとしては初で、Claude、Claude Code、OpenClaw、その他の互換性のある AI プラットフォームで利用できます。Claude Managed Agents の料金:セッション実行中は 1 セッション時間あたり $0.08 で、アイドル中の runtime 料金は発生しません。通常の Claude モデルのトークン料金は別途かかります。(Anthropic の Claude 料金ページによるものです。Public Beta の開始日は2026年4月8日でした。)Memory for Managed Agents は、managed-agents-2026-04-01 beta header のもと、2026年4月23日に Public Beta へ移行しました。現在、Managed Agents のすべての endpoint でこの beta header が必須です。
2026-04-16 ガイド v1.1:Claude Managed Agents(4月8日ベータ版)と OpenAI Agents SDK の harness/compute 分離(4月16日)を扱う Managed vs. Self-Hosted Harnesses セクションを追加しました。ツール横断型のマルチエージェントハイパーバイザー Scion(4月7日、Google)を追加しました。M3MAD-Bench で明らかになった debate plateau について記載しました。The Five Principles of Trustworthy Agents(Anthropic、4月9日)と、MCP/AGENTS.md の Linux Foundation によるガバナンスを追加しました。Permiso SandyClaw の skill-sandbox を参照として追加しました。Opus 4.7 Long-Horizon Patterns を新たに追加し、ツール障害への耐性、xhigh effort tier、トークン予算の上限(task_budget beta)、CLAUDE.md の scaffolding を減らす暗黙的ニーズへの認識を取り上げました。
2026-03-24 初版公開

参照


  1. Andrej Karpathyによる、LLM エージェント上の新たなレイヤーとしての「claws」について。HNでの議論(406ポイント、917件のコメント)。 

  2. 著者による実装。84個の hooks、48個の skills、19個のエージェント、約15,000行のオーケストレーション。インフラストラクチャとしてのClaude Codeで解説しています。 

  3. Anthropic、「Claude Code Hooks: 終了コード」。code.claude.com/docs/en/hooks。ほとんどのイベントでは、終了コード0は許可、2はブロック、1は警告を意味します。WorktreeCreateには、より厳格なルールが適用されます。 

  4. Anthropic、「SkillsでClaudeを拡張する」。code.claude.com/docs/en/skills。skillの構造、frontmatterフィールド、LLMに基づくマッチング、説明文に対する1%/8,000文字の上限について解説しています。 

  5. Anthropic、「Claude Code Sub-agents」。code.claude.com/docs/en/sub-agents。分離されたコンテキスト、worktreeのサポート、エージェントチームについて解説しています。 

  6. Anthropic、「Claude Code ドキュメント」。docs.anthropic.com/en/docs/claude-code。メモリファイル、CLAUDE.md、auto-memoryについて解説しています。 

  7. 著者によるマルチエージェント熟議システム。10の調査ペルソナ、7フェーズのステートマシン、141件のテスト。マルチエージェント熟議で解説しています。 

  8. Simon Willison、「コードを書くコストは、今や低くなった」。エージェント型エンジニアリングのパターン。 

  9. Laban, Philippeほか、「LLMs Get Lost In Multi-Turn Conversation」、arXiv:2505.06120、2025年5月。Microsoft ResearchおよびSalesforce。15のLLMs、200,000件以上の会話、平均39%の性能低下。 

  10. Mikhail Shilkov、「Claude Code Skillsの内部:構造、プロンプト、呼び出し」。mikhail.io。skillの検出、コンテキスト注入、プロンプト内のavailable_skillsセクションに関する独立分析。 

  11. Claude Codeのソース、SLASH_COMMAND_TOOL_CHAR_BUDGETgithub.com/anthropics/claude-code。 

  12. Anthropic、「Skill作成のベストプラクティス」。platform.claude.com。500行の上限、補助ファイル、命名規則について解説しています。 

  13. Anthropic、「Claude Code Hooks: ライフサイクルイベント」。code.claude.com/docs/en/hooks。文書化された31のライフサイクルイベント、hookの種類、matcherの動作、非同期hooks、HTTP hooks、prompt hooks、agent hooks、MCP tool hooksについて解説しています。 

  14. 著者によるClaude Code hooksチュートリアル。実運用向けの5つのhooksをゼロから構築します。Claude Code Hooksチュートリアルで解説しています。 

  15. 著者が50セッションにわたって実践したコンテキストウィンドウ管理。コンテキストウィンドウ管理で解説しています。 

  16. 著者によるRalph Loopの実装。ファイルシステムの状態とspawn予算を利用し、毎回新しいコンテキストで反復します。Ralph Loopで解説しています。 

  17. 著者による熟議システムのアーキテクチャ。3,500行のPython、12のモジュール、信頼度トリガー、合意検証。AIシステムの構築:RAGからエージェントへで解説しています。 

  18. Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. 

  19. Wu, H.、Li, Z.、Li, L.、「LLM Agentsは本当に議論できるのか?」arXiv:2511.07784、2025年。 

  20. Liang, T.ほか、「マルチエージェント討論を通じて大規模言語モデルの発散的思考を促進する」、EMNLP 2024。 

  21. 実際のリポジトリを対象とした著者によるAGENTS.md分析。AGENTS.mdのパターンで解説しています。あわせて、GitHub Blogの「優れたagents.mdの書き方:2,500以上のリポジトリから得た教訓」も参照してください。 

  22. 著者によるquality loopとevidence gateの方法論。Jiro Craftsmanshipシステムの一部です。 

  23. Anthropic、「Claude Managed Agentsの概要」。2026年4月8日にパブリックベータを開始しました。セッションのチェックポイント、同梱のサンドボックス、REST APIを備えたHarness-as-a-Serviceです。料金は標準トークン料金に加えて、1セッション時間あたり$0.08です。ベータヘッダーはmanaged-agents-2026-04-01です。 

  24. OpenAI、「openai-agents Python v0.14.0リリースノート」。2026年4月15日にリリースされ、4月16日に発表されました。既存のAgentRunnerフロー上のベータレイヤーとして、Sandbox Agents SDKサーフェスを導入しています。対象には、SandboxAgentManifest(ワークスペース契約)、SandboxRunConfig、各種機能(シェル、ファイルシステム編集、画像検査、skills、サンドボックスメモリ、compaction)、ワークスペースのマウント(ローカル、Git、リモート:S3、R2、GCS、Azure Blob、S3 Files)、パス正規化とシンボリックリンク保持に対応した移植可能なスナップショット、再開用の実行状態シリアライズが含まれます。バックエンドは、UnixLocalSandboxClientDockerSandboxClientのほか、オプションの追加パッケージを介したBlaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel向けホスト型クライアントです。4月16日の発表内容は、Help Net Securityにまとめられています。 

  25. Google Cloud、「Scion: Multi-Agent Hypervisor」。2026年4月7日にオープンソース化されました。Claude Code、Gemini CLI、その他のdeep agentsを、エージェントごとにコンテナ、git worktree、認証情報を分離したプロセスとしてオーケストレーションします。ローカル/ハブ/Kubernetesのデプロイモードに対応しています。InfoQの記事。 

  26. マルチエージェント討論に関する研究群、2026年第1~第2四半期。Wuほか、「LLM Agentsは本当に議論できるのか?」(arXiv 2511.07784)。M3MAD-Benchは、性能が頭打ちになることや、誤解を招く合意に影響されやすいことを示すマルチモデル・マルチエージェント討論ベンチマークです。Tool-MADは、エージェントごとに異種ツールを割り当て、Faithfulness/Relevanceのjudgeスコアを使用します。 

  27. Anthropic、「安全で信頼できるエージェントを開発するためのフレームワーク」。2026年4月9日。5つの原則は、人間による制御、価値観との整合、安全性、透明性、プライバシーです。Linux FoundationのAgentic AI FoundationへのMCPの寄贈についても説明しています。 

  28. Permiso Security、「SandyClaw: AI Agent Skills向け初の動的サンドボックス」。2026年4月2日。Sigma/YARA/Nova/Snortによる検出と、証拠に裏付けられた判定を備えたskill実行サンドボックスです。 

  29. Anthropic、「Claude Opus 4.7の紹介」。2026年4月16日。長時間稼働するエージェントの改善点として、Opus 4.6比でSWE-Benchの実運用タスク解決率が3倍、ツール障害への耐性、xhigh effort tier、タスク予算(ベータ)、暗黙のニーズを察知する能力が挙げられます。Messages APIの破壊的変更については、Opus 4.7の新機能も参照してください。 

  30. 複合参照 — OpenAI openai-agents-python v0.14.7(2026年4月28日)および v0.14.8(2026年4月29日)、Anthropic claude-agent-sdk-python v0.1.69(4月28日)、v0.1.70(4月28日)、v0.1.71(4月29日)。v0.14.7の主な変更点:ツール項目にtool_name/call_idの便利なプロパティを追加、フェーズ2のメモリ統合におけるターン上限を引き上げ、sandbox compaction向けにGPT-5.5のエイリアスを追加、tar/zipメンバーの検証を強化、LocalFileソースのシンボリックリンクを拒否、Responses API呼び出しから未設定フィールドを削除。v0.14.8の主な変更点:MCPの再エクスポート時に発生するインポートエラーを保持、sandboxのプロンプト命令セクションを区切るように変更。claude-agent-sdk-python v0.1.69ではClaudeAgentOptionsのフィールドにdocstringを追加し、同梱のCLIをv2.1.121へ更新しました。v0.1.70ではmcp依存関係の最低バージョンを>=1.19.0へ引き上げ(旧バージョンでは、プロセス内MCPツールハンドラーが返すCallToolResultが通知なしに破棄されていました)、options.stderrを設定したquery()の反復処理を早期キャンセルした際にTrioのnurseryが破損する問題を修正し(stderrリーダーでspawn_detached()を使用するよう変更)、同梱のCLIをv2.1.122へ更新しました。v0.1.71では、TypeScriptスキーマと同等になるよう、ドメイン許可リスト用フィールド(allowedDomainsdeniedDomainsallowManagedDomainsOnlyallowMachLookup)をSandboxNetworkConfigに追加し、同梱のCLIをv2.1.123へ更新しました。 

  31. OpenAI、“AGENTS.mdによるカスタム指示”。Codexは作業前にグローバルおよびプロジェクトのAGENTS.md / AGENTS.override.mdファイルを読み取り、ルートから現在のディレクトリまでの指示を統合し、プロジェクトドキュメントの上限をproject_doc_max_bytesで設定します。 

  32. OpenAI、“Agent Skills”。Codex skillsではSKILL.md、段階的開示、明示的な$skill呼び出し、説明文に基づく暗黙的な有効化を使用します。 

  33. OpenAI、“Codex Hooks”。Codex hooksは、設定内のコマンドhooks、プラグインhooks、管理対象hooks、対応イベント用のマッチャー、標準入力によるJSON入力、JSON出力フィールドに対応しています。 

  34. OpenAI、“Codex Subagents”および“Codex CLI 0.128.0変更履歴”。Codexは、明示的な並列subagentsワークフロー、組み込みのdefaultworkerexplorerエージェント、カスタムTOMLエージェント、継承されるsandboxポリシー、プラグイン同梱のhooks、hooksの有効化状態、0.128.0で永続化された/goalワークフローに対応しています。 

  35. Anthropic、“Claude Managed Agentsの新機能”。2026年5月6日。Dreaming(リサーチプレビュー): エージェントのセッションとメモリストアを確認し、パターンを抽出して記憶を整理する、スケジュール実行型のバックグラウンドプロセスです。Outcomes(パブリックベータ): 別の評価エージェントが独立したコンテキストウィンドウでrubricに照らして出力を採点する、rubricベースの評価です。これにより、エージェントの推論による影響を受けません。Multiagent Orchestration(パブリックベータ): リードエージェントがジョブの各部分を専門エージェントに委任します。各専門エージェントは固有のモデル、プロンプト、ツールを備え、共有ファイルシステム上で並列に動作し、リードエージェントの全体的なコンテキストへ結果を提供します。Claude Consoleでは、各ステップを完全にトレースできます。 

  36. Anthropic、claude-agent-sdk-python v0.1.74。2026年5月6日。ClaudeAgentOptionsinclude_hook_eventsを追加しました。設定すると、hookイベント(PreToolUse、PostToolUse、Stopなど)がCLIから送出され、TypeScript SDKのincludeHookEventsと同様に、メッセージストリームからHookEventMessageとして取得できます。同梱のClaude CLIはv2.1.129へ更新されました。 

  37. Anthropic、claude-agent-sdk-python v0.1.77。2026年5月8日。allowed_tools"Skill"値を非推奨とし、代わりにClaudeAgentOptionsの専用skillsオプションを使用するよう変更しました。また、利用可能なskillsについて、より構造化されたシグナルをClaude Codeへ提供し、Command failed例外のエラーメッセージを改善したほか、Claude CLI v2.1.133を同梱しています。 

  38. Anthropic、Claude Code v2.1.132。2026年5月6日。BashツールのサブプロセスにCLAUDE_CODE_SESSION_ID環境変数を追加しました(hooksですでに参照できるsession_idと一致します)。また、会話を端末本来のスクロールバックに残すCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN、刷新された/tui fullscreen起動バナー(メモリ使用量の削減、マウス対応、選択時の自動コピー)を追加したほか、約20件のバグを修正しました。対象には、SIGINTによる正常終了、サロゲートペアを含む絵文字による--resumeの破損、プランモードの--permission-modeフラグ、インド系文字とZWJのカーソル処理、NFDでのvim操作、/で始まる貼り付けの欠落、MCPの無制限なメモリ使用、MCPのtools/list再試行、Bedrock + VertexでのENABLE_PROMPT_CACHING_1Hに関する400エラー、ステータスラインのcontext_windowに累積トークン数が表示される問題が含まれます。 

  39. Anthropic、Claude Code v2.1.133。2026年5月7日。hooksがeffort.levelのJSON入力と$CLAUDE_EFFORT環境変数を受け取るようになりました(Bashコマンドからも参照できます)。subagentsがSkillツールを介してプロジェクト、ユーザー、プラグインのskillsを検出できるよう修正しました(リグレッション修正)。新しい管理者向け設定として、worktree.baseReffresh | head)では、v2.1.128でworktreeの基準がローカルHEADへ変更された後でも、基準をorigin/<default>へ戻せます。sandbox.bwrapPathsandbox.socatPathではLinux/WSL上のsandboxバイナリを固定できます。parentSettingsBehavior'first-wins' | 'merge')では、SDKのmanagedSettingsを親設定と合成する方法を制御できます。その他の修正:並列セッションでのリフレッシュトークン競合後の401エラー、ドライブルートにおける許可ルールのスコープ、MCP OAuthのプロキシ/mTLS対応、Remote Controlで停止や割り込みを行った際のキャンセル完了、セッション間での/effort設定の漏洩、--helpへの--remote-controlの掲載。 

  40. Anthropic、Claude Code v2.1.136。2026年5月8日。ユーザーの意図や許可例外にかかわらず無条件でブロックする自動モード分類ルール向けに、settings.autoMode.hard_denyを追加しました。また、OpenTelemetry経由で回答を収集する企業がセッション内の品質アンケートを再度有効にできるよう、CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELを追加しました。運用に影響する修正:VS Code、JetBrains、Agent SDKで/clearを実行した後、.mcp.json、プラグイン、claude.aiコネクター由来のMCPサーバーが通知なしに消える問題、同時更新時にMCP OAuthのリフレッシュトークンが失われる問題、一致するEdit(...)許可ルールが存在するとプランモードでファイル書き込みがブロックされない問題、キャッシュのクリーンアップによって実行中バージョンが削除されるとプラグインのStop/UserPromptSubmit hooksが失敗する問題、plugin.jsonskillsエントリによってプラグインのデフォルトskills/ディレクトリが非表示になる問題、/resumeまたは/clearの後にCLAUDE_ENV_FILEのSessionStart hook環境変数が古いままになる問題。さらに、TUI、オートコンプリート、端末レンダリングにわたる約30件の細かな改善と信頼性向上を含みます。関連リリース:v2.1.137(5月9日、VSCode拡張機能のWindowsでの有効化を修正)、v2.1.138(5月9日、内部修正)。claude-agent-sdk-python v0.1.78v0.1.79v0.1.80では、同梱のClaude CLIがそれぞれv2.1.136、v2.1.137、v2.1.138へ更新されました。 

  41. OpenAI、openai-agents-python v0.17.0。2026年5月8日。RealtimeAgentのデフォルトがgpt-realtime-2になりました。sandboxのローカルソースを実体化する際、LocalFile.srcLocalDir.srcは、SandboxPathGrantを使用してManifest.extra_path_grantsで明示的に許可されていない限り、マニフェストのbase_dir(マニフェスト適用時におけるSDKプロセスの現在の作業ディレクトリ)内に制限されます。相対パスのローカルソースはbase_dirを基準に解決されます。絶対パスのソースは、あらかじめその内部に存在するか、明示的に許可されたパス配下になければなりません。移行方法:信頼できるホスト側のルートをマニフェストレベルで宣言し、可能であれば読み取り専用にしてください。extra_path_grantsは信頼できるアプリ設定として扱い、モデルの出力や信頼できないマニフェスト入力から設定してはいけません。Responsesのコンテキスト管理におけるextra_argsの衝突修正も含まれています。 

  42. Anthropic、Claude Code v2.1.139。2026年5月。2026年5月11日の現行セッションにおけるローカルでの確認では、claude --version2.1.139 (Claude Code) を返しました。リリースノートには、Agent View(claude agents)、/goal、hook の args: string[]PostToolUsecontinueOnBlock、MCP stdio サーバー向けの CLAUDE_PROJECT_DIR${CLAUDE_PROJECT_DIR} を用いたプラグインコマンドの補間が追加され、--print モードでの claude_code.active_time.total OpenTelemetry 出力などが修正されています。 

  43. Anthropic、“複数のエージェントを Agent View で管理する”。Agent View のドキュメントでは、1つの画面から多数の Claude Code セッションをディスパッチして管理する方法、各セッションの実行状況を確認する方法、オペレーターの入力を必要とするセッションを特定する方法が説明されています。また、Agent View は Research Preview と位置づけられており、ローカルセッションの制限事項も記載されています。 

  44. Anthropic、“Claude Code Hooks”。コマンド hook のフィールド、PreToolUsePostToolUse、終了コードの動作、hook の入出力、スラッシュコマンドを直接展開するパスについて説明する hook のドキュメントです。 

  45. GitHub Advisory Database、GHSA-f3jg-756w-gm35 / CVE-2026-45046。「Gryph Agents Payload Filter が機密コンテンツを含むツールペイロードを除去できない」。2026年5月公開。デフォルトのログ動作では、機密性の高い file-write ペイロードの内容がローカルの SQLite ログに残る問題について説明しており、Gryph v0.7.0 で修正されています。 

  46. OSV、GHSA-wxxx-gvqv-xp7p / CVE-2026-40217。「LiteLLM の custom-code guardrail にサンドボックスエスケープが存在する」。2026年5月11日公開。管理者によって保護された POST /guardrails/test_custom_code エンドポイントが、ユーザー提供の Python を独自実装のサンドボックス内で実行する問題について説明しています。アップグレードするか、アップグレードできない場合はこのエンドポイントをブロックすることが推奨されています。 

  47. Young Jo (seph) Chung、Safwat Hassan、“協働者かアシスタントか?AI コーディングエージェントはプルリクエストのライフサイクル全体で作業をどのように分担するか”、arXiv:2605.08017v1、2026年5月。要旨では、OpenAI、Copilot、Devin、Cursor、Claude Code にまたがる29,585件の PR ライフサイクルを分析し、運用上のエージェンシーとマージのガバナンスを区別したと報告しています。 

  48. Jiayuan Liu ほか、“記憶の呪い:想起範囲の拡大が LLM エージェントの協力意図を損なう仕組み”、arXiv:2605.08060v1、2026年5月。要旨では、7つの LLM と4種類のゲームを用いて500ラウンドにわたる実験を行い、アクセス可能な履歴を拡大すると、28のモデル・ゲーム設定のうち18設定で協力が低下したと報告しています。 

  49. Anthropic、Claude Code v2.1.140。2026年5月12日。エージェント hook の入力に subagent_type が追加され、ConfigChange hooks、disableAllHooksallowManagedHooksOnly、hook の結果に含まれる環境変数を権限ダイアログに表示する処理、設定更新後のカスタムスタイルのリセット、Windows Git Bash におけるネイティブパッケージ解決のフォールバック、/scroll-speed が修正されています。 

  50. Anthropic、Claude Code v2.1.141。2026年5月13日。デスクトップ通知、ウィンドウタイトル、ベル向けに hook の JSON 出力へ terminalSequence が追加されたほか、HTTPS プラグインソースのクローン用に CLAUDE_CODE_PLUGIN_PREFER_HTTPS、ワークロードアイデンティティフェデレーションのワークスペース範囲指定用に ANTHROPIC_WORKSPACE_ID、Agent View のディレクトリ絞り込み用に claude agents --cwd <path>、直近24時間または7日間のセッションを添付できる /feedback オプションが追加されています。さらに、エージェント、バックグラウンドジョブ、hook、MCP、Remote Control、権限ダイアログ、ターミナル描画に関する修正も含まれます。2026年5月14日の現行セッションで確認したところ、claude --version2.1.141 (Claude Code) を返し、npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json が返した最新版も 2.1.141 でした。 

  51. Anthropic、Claude Code v2.1.142。2026年5月14日。バックグラウンドセッション向けの claude agents ディスパッチフラグ(--add-dir--settings--mcp-config--plugin-dir--permission-mode--model--effort--dangerously-skip-permissions)が追加されています。Fast mode のデフォルトが Opus 4.7 に変更され、固定用のオーバーライドとして CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 が用意されました。また、skills/ ディレクトリが存在しない場合にプラグインのルート階層にある SKILL.md ファイルを skills として公開し、プラグインの詳細にプラグイン提供の LSP サーバーを表示するようになりました。既存の GitHub App 接続を置き換える前には警告が表示されます。さらに、MCP_TOOL_TIMEOUT、バックグラウンドセッションの worktree、デーモンのスリープ/復帰、アップグレード後のデーモンクリーンアップ、プラグインキャッシュ、Agent View の信頼性に関する問題が修正されています。2026年5月15日の現行セッションで確認したところ、claude --version2.1.141 (Claude Code) を返し、npm の最新版は 2.1.142 でした。 

  52. Anthropic、Claude Code v2.1.147。2026年5月21日。決定論的なマルチエージェントオーケストレーション向けに、デフォルトでは無効な Workflow ツール(CLAUDE_CODE_WORKFLOWS=1)、固定されたバックグラウンドセッション、/simplify に代わる /code-review [effort] --comment が追加されています。また、REPL と Workflow のサンドボックス強化、自動アップデーターの診断機能、大規模 diff の描画改善、プロンプト履歴の重複排除が含まれます。さらに、エンタープライズログインの制限、PowerShell の動作、MCP のページネーション、Agent View、プラグイン、hook の条件、貼り付けたテキスト、画像除去後のループに関する問題が修正されています。2026年5月21日の現行セッションで確認したところ、claude --version2.1.144 (Claude Code) を返し、npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json は最新版 2.1.147time.modified2026-05-21T20:38:35.053Z と返しました。 

  53. Anthropic、Claude Code v2.1.148v2.1.149v2.1.150、および Claude Code CHANGELOG。v2.1.148 では、v2.1.147 で発生した Bash の終了コードに関するリグレッションが修正されています。v2.1.149 では、カテゴリ別の上限使用状況を示す /usage/diff のキーボードスクロール、GFM タスクリストの描画、Enterprise の allowAllClaudeAiMcps が追加されました。harness に関連する修正には、PowerShell の cd による権限回避、PowerShell のプレフィックス/ワイルドカードおよび古い変数に関する権限分析、git-worktree サンドボックスの書き込み許可リストのスコープ、macOS で Bash の find が引き起こす vnode 枯渇、管理対象設定の承認時のフリーズ、otelHeadersHelper のパス内スペースに関する診断、Remote Control のセッション名変更の同期が含まれます。v2.1.150 は内部インフラストラクチャのみの変更です。2026年5月24日の現行セッションで確認したところ、ローカルの claude --version2.1.144 (Claude Code) を返しましたが、npm の最新版は 2.1.150time.modified2026-05-23T04:03:10.243Z でした。GitHub の最新リリースは v2.1.150 で、公開日時は 2026-05-23T04:03:51Z でした。 

  54. OpenAI、openai-agents-python v0.17.1v0.17.2、および v0.17.3。v0.17.1 では、サンドボックスプロバイダーのエラー詳細、アーカイブ展開の制限、GitRepo のサブパス検証が追加され、トレーシング、セッション、リアルタイム機能が修正されています。v0.17.2 では、Conversations の推論保持、ローカル承認の却下理由、AsyncSQLiteSession の設定、リアルタイムでの未知のツールに関する動作が修正されています。v0.17.3 では、マウントポイントの認証情報がサンドボックスコマンドに含まれないようになり、相対パスのサンドボックスワークスペースルートを拒否し、Vercel サンドボックスの終端状態を処理するようになりました。さらに、出力スキーマ、guardrail、ランタイム、メモリのインポートに関するエッジケースが修正されています。2026年5月24日の現行セッションで確認したところ、python3 -m pip index versions openai-agents は最新版 0.17.3 を返しました。GitHub の最新リリースは v0.17.3 で、公開日時は 2026-05-19T01:27:36Z でした。 

  55. Claude Code 変更履歴(公式)v2.1.152 リリースノートv2.1.153 リリースノートv2.1.154 リリースノート。v2.1.152(5月27日)では、MessageDisplay hook イベント、skill/command frontmatter の disallowed-tools/reload-skillsSessionStart hook の reloadSkills および sessionTitle 出力、作業ツリーに変更を適用する /code-review --fixpluginSuggestionMarketplaces 管理設定が追加されました。また、auto-mode のオプトインが廃止され、--fallback-model によるセッション途中の切り替えが導入されています。v2.1.153(5月28日)では、/model で選択したモデルが新規セッションのデフォルトとして保存されるようになり、セッション限定の指定には s が追加されました。さらに、プラグインマーケットプレイスへの skipLfs、ステータスライン環境での COLUMNS/LINES の公開、macOS バックグラウンドエージェントに対する「プライバシーとセキュリティ」権限の永続化も導入されています。v2.1.154(5月28日)では、Opus 4.8 がデフォルトモデルとなり、デフォルトの effort が high に設定され、新たに /effort xhigh が追加されました。/workflows による動的ワークフローが導入され、Opus 4.8 の Fast mode は2倍の料金で2.5倍の速度を利用できます。Haiku/Sonnet/Opus 4.7以前を除くすべてのモデルで簡素化されたシステムプロンプトがデフォルトとなり、claude agents ではバックグラウンドシェルセッション用の ! <command> を使用できるようになりました。プラグインでは defaultEnabled: false を宣言でき、stdio MCP サブプロセスの環境には CLAUDE_CODE_SESSION_IDCLAUDECODE=1 が渡されます。また、CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE は非推奨となりました(6月1日に削除)。 

  56. Codex 変更履歴(OpenAI Developers)およびopenai/codex リリース。Codex CLI 0.134.0(2026年5月26日)では、ローカルの会話履歴検索が追加され、従来の設定を移行しつつ、CLI/TUI/sandbox フロー全体で --profile が主要なプロファイルセレクターになりました。MCP のセットアップも改善され、サーバー単位の環境指定と、ストリーミング可能な HTTP サーバー向けの OAuth が導入されています。さらに、ローカルの $ref/$defs を維持し、公開前に大きすぎるスキーマを圧縮することで、コネクターツールのスキーマの信頼性が向上しました。readOnlyHint を通知する読み取り専用 MCP ツールの同時実行にも対応しています。Codex CLI 0.135.0(2026年5月28日)では、codex doctor の診断情報が強化され、/status にリモート接続の詳細とサーバーバージョンが表示されるようになりました。vim のテキストオブジェクト編集、単語および行末の操作性、設定可能なターン中断も改善されています。さらに、/permissions が名前付き権限プロファイルを認識するようになり、対応する macOS と Linux 向けにパッチ適用済みの zsh ヘルパーが同梱されました。Python SDK には、スレッドおよびターンの API 用として扱いやすい Sandbox プリセットも追加されています。 

  57. Hermes Agent v0.15.0 リリースノート。「Velocity リリース」。1,302件のコミット、747件のマージ済み PR、321人のコミュニティコントリビューター。run_agent.py は76%リファクタリングされました(14モジュールにわたり16,083行から3,821行へ削減)。自動分解、swarm トポロジー、タスク単位のモデルオーバーライド、スケジュール済みタスク、worktree 管理を備えたマルチエージェント Kanban プラットフォームが導入されています。session_search は再設計によって4,500倍高速化され、LLM への依存が削除されました。3つのセキュリティチョークポイントで Brainworm 系のプロンプトインジェクションを防ぐ Promptware 防御、プロバイダーごとのキーを単一のブートストラップトークンに置き換える Bitwarden Secrets Manager 統合、1つのスラッシュコマンドで複数の skills を読み込める skill バンドルも追加されています。さらに、1つのターミナルで複数のセッションを管理する TUI セッションオーケストレーター、Krea 2 および FAL の画像生成プロバイダー、xAI 統合群(Web 検索プラグイン、上流の OAuth、廃止モデルの検出、自然な TTS の間)も導入されました。 

  58. Claude Code v2.1.157 リリースノートおよびClaude Code 変更履歴(公式)。2026年5月29日。プロジェクトの .claude/skills/ ディレクトリに配置したプラグインが、マーケットプレイスを必要とせず自動的に読み込まれるようになりました。claude plugin init <name> では、そのディレクトリに新しいプラグインをスキャフォールドでき、/plugin には引数の自動補完が追加されています。ほかにも、EnterWorktree でセッション途中に Claude 管理の worktree を切り替えられるようになりました。エージェントの終了後もバックグラウンド worktree はロック解除された状態で残るため、git worktree remove/prune を問題なく実行できます。また、OTEL_LOG_TOOL_DETAILS=1 の場合、tool_decision テレメトリーイベントに tool_parameters が含まれます。処理不能な画像(テキストのプレースホルダーへフォールバック)、auto/bypass mode での sandbox ネットワーク権限プロンプト、バックグラウンドセッションの retire-on-park、tmux / VS Code / Cursor / Windsurf におけるターミナル描画についてのバグ修正も含まれています。 

  59. Claude Code 変更履歴(公式)およびCodex CLI v0.137.0 リリースノート、2026年6月。Claude Code v2.1.162(6月3日)では、claude agents --jsonwaitingFor が追加されました。v2.1.163(6月4日)では、Stop/SubagentStop のエラー以外のフィードバック向けに hookSpecificOutput.additionalContext が追加されました。v2.1.166(6月6日)では、セッションをまたぐ SendMessage の権限が強化され(中継されたメッセージはユーザー権限を引き継がなくなりました)、fallbackModel 設定が追加されました(最大3つのフォールバック、再試行不能なエラーに対する1回限りの再試行)。Codex CLI v0.137.0(6月4日)では、マルチエージェント v2(スレッドを伴うランタイム、hide_spawn_agent_metadata のデフォルト値 true、親から子へのイベント伝播)、ターン単位でカタログを解決する v1 skills 拡張、スレッド開始およびターンエラーのライフサイクルコントリビューターイベントがリリースされました。Codex subagents ドキュメントでは、default/worker/explorer のエージェントタイプと、agents.max_threads/max_depth による同時実行制御が確認できます。AGENTS.md(agents.md)では、バージョン管理された仕様変更は公開されていません。現在のセッションでの検証日は2026年6月8日です。 

  60. Anthropic、Claude Code v2.1.169 リリースノートおよびv2.1.170 リリースノート、2026年6月8〜9日。v2.1.169 では、disableBundledSkills 設定と CLAUDE_CODE_DISABLE_BUNDLED_SKILLS(バンドル済みの skills、ワークフロー、組み込みスラッシュコマンドをモデルから隠します)、--safe-mode フラグと CLAUDE_CODE_SAFE_MODE(CLAUDE.md、プラグイン、skills、hooks、MCP サーバーを含むすべてのカスタマイズを無効にしてセッションを開始します)、/cd コマンド(プロンプトキャッシュを壊さずにセッションを新しい作業ディレクトリへ移動します)が追加されました。v2.1.170 では、Claude Fable 5(claude-fable-5)を /model claude-fable-5 で選択できるようになりましたが、Claude Code のエージェント向けデフォルトは引き続き Opus 4.8 です。モデル階層の発表:Anthropic、“Claude Fable 5”、2026年6月9日。Opus より上位の「Mythos-class」階層であり、一般利用に耐える安全性を備えた Anthropic 史上最も強力なモデルと説明されています。 

  61. OpenAI、Codex CLI rust-v0.138.0 リリースノート(2026年6月8日)およびrust-v0.139.0 リリースノート(2026年6月9日)。v0.138.0 では、エージェント間メッセージのペイロード暗号化、v2 エージェント設定カタログ、エージェント常駐用 LRU が導入され、同時実行数が生成済みスレッド数ではなくアクティブな実行数に基づいて計算されるようになり、マルチエージェント v2 が強化されました。v0.139.0 では、close_agent ライフサイクル API が interrupt_agent に改名されました。また、subagent の MCP 起動警告が所有元スレッドのみに限定され、親スレッドに重複表示されなくなりました。両リリースを通じて AGENTS.md の検出も強化されています。読み込みは環境ファイルシステム経由となり、検出時に論理パスが維持されるため、リモートおよびシンボリックリンクを使用したワークスペースでも正しいファイルが選択されます。 

  62. Anthropic、Claude Code v2.1.172 リリースノート(2026年6月10日)。subagents が独自の subagents を生成できるようになり、最大5階層までの再帰的な委任に対応しました。以前の委任は実質的に1階層に限られていました。 

  63. Anthropic、Claude Code v2.1.175 リリースノートおよびv2.1.178 リリースノート、2026年6月12〜15日。v2.1.175 では、enforceAvailableModels 管理設定が追加されました。これは Default モデルを固定し、ユーザーまたはプロジェクトの設定によって管理対象の availableModels 許可リストが拡張されるのを防ぎます。v2.1.178 では、ツールの入力パラメーターを * ワイルドカードで照合する Tool(param:value) 権限ルール構文(例:Agent(model:opus))が追加されました。ネストされた .claude/skills ディレクトリから skills を読み込み、名前が衝突した場合は <dir>:<name> で区別します。ネストされた .claude/ 内のエージェント、ワークフロー、出力スタイルが衝突した場合は、cwd に最も近いものを解決するようになりました(プロジェクトスコープのワークフローは、最も近い既存の .claude/workflows/ に保存されます)。subagent の生成は起動前に auto-mode classifier で評価されます。また、subagent の disallowedTools に指定した MCP サーバー単位の仕様(mcp__servermcp__server__*mcp__*)が暗黙に無視される不具合も修正されました。 

  64. OpenAI、Codex CLI rust-v0.140.0 リリースノート、2026年6月15日(v0.140.0-alpha 系列から安定版へ昇格)。Claude Code からセットアップ、プロジェクト設定、最近のチャットを選択してインポートできる /import、確認による安全対策を備えた codex delete/delete、app-server の thread/delete によるセッションの完全削除、ファイル・プラグイン・skills に対応する統合 @ メンションメニュー、/usage のトークンアクティビティ表示が追加されました。 

  65. Anthropic、Claude Code v2.1.183 リリースノート、2026年6月19日 — 作業の破棄を指示していない場合、auto mode は破壊的な git コマンド(git reset --hardgit checkout -- .git clean -fdgit stash drop)をブロックします。また、このセッションでエージェントが作成していないコミットに対する git commit --amend や、特定のスタックを指定していない場合の terraform destroy/pulumi destroy/cdk destroy もブロックします。OpenAI、Codex CLI rust-v0.141.0 リリースノート、2026年6月18日(v0.141.0-alpha 系列から安定版へ昇格)— リモート実行環境では、認証済みのエンドツーエンド暗号化 Noise リレーチャネルを使用します。クロスプラットフォームのリモート実行では、実行環境固有の作業ディレクトリとシェルが維持されます。TLS は、エンタープライズプロキシ向けに P-521 証明書署名をサポートします。 

  66. Claude Code Changelog(公式) — v2.1.193(2026年6月25日):autoMode.classifyAllShell 設定、トランスクリプト、トースト、/permissions への auto-mode 拒否理由の表示。v2.1.195(2026年6月26日):ハイフンを含む識別子(例:code-reviewermcp__brave-search)を持つ hook マッチャーが、部分一致ではなく完全一致になりました。ハイフンを含む MCP サーバーの全ツールに一致させるには、mcp__brave-search__.* を使用します。Codex CLI v0.142.2 リリースノート(2026年6月25日):安全性分類器が検査できない実行可能な AST 領域を含む PowerShell コマンドは、承認が必要になりました。2026年7月1〜2日(PST)に両方の公式ソースで検証済みです。 

  67. Claude Code Changelog(公式)および GitHub リリース。v2.1.196(2026年6月29日):組織全体のデフォルトモデル(管理者が設定し、/model では「Org default」と表示)。信頼されていないワークスペースでは、claude mcp list/get がリポジトリによって自己承認された .mcp.json サーバーを起動しなくなりました。v2.1.197(6月30日):Claude Sonnet 5 が同梱のデフォルトモデルになりました(ネイティブ 1M コンテキスト、8月31日まで $2/$10 のプロモーション価格)。v2.1.198(7月1日):subagents はデフォルトでバックグラウンド実行されます。組み込みの Explore エージェントはセッションのモデルを継承します(上限は Opus)。subagents とコンパクションは、セッションの拡張思考設定を継承します。バックグラウンドの claude agents セッションは、worktree でのコード作業後にコミット、プッシュ、ドラフト PR の作成を行い、agent_needs_input/agent_completed を指定して Notification hook を発火します。/agents ウィザードは削除されました(.claude/agents/ を直接編集するか、Claude に依頼します)。v2.1.199(7月2日):連続した slash-skill 呼び出しでは、先頭から最大 5 個の skills が読み込まれます。SendMessage で再利用されたエージェント名への誤配送が検出されます。SessionStart/Setup/SubagentStart hooks は、終了コード 2 の際に stderr を表示します。v2.1.200(7月3日):default 権限モードは、CLI、--help、VS Code、JetBrains のすべてで「Manual」と表示され、設定値は変更されないまま manual も受け付けます。AskUserQuestion ダイアログは、デフォルトで自動的に続行しなくなりました。v2.1.202(7月6日):「Dynamic workflow size」の /config コントロールが追加されました。/review <pr> は単一パスのレビューに戻り、/code-review <level> <pr#> はマルチエージェントのレビューを実行します。Anthropic claude-agent-sdkv0.2.111(2026年7月6日、Claude CLI v2.1.202 を同梱)、TypeScript @anthropic-ai/claude-agent-sdkv0.3.203 です。0.2.x / 0.3.x 系列は、文書化された 0.1.x の機能面に対する段階的な更新です(最近の変更は、サブプロセスのクリーンアップと NDJSON ストリームの信頼性向上です)。2026年7月7日(PST)に現在のセッションで検証済みです。 

  68. Claude Code Changelog(公式)、GitHub リリース v2.1.207 および v2.1.208、ならびに Claude Code の新機能。2026年7月。v2.1.203–v2.1.206(7月上旬):auto-mode のルールにより、トランスクリプトファイルの改ざんがブロックされます。バックグラウンドタスクの通知には、タスク実行中に人間による入力がなかったことが明記されます。MCP の roots/list には、セッションに追加された作業ディレクトリが含まれ、roots/list_changed 通知が送信されます。/doctor は、コードベースから導出できる CLAUDE.md の内容を削減するよう提案します。また、v2.1.204 ではヘッドレス環境における SessionStart のストリーミングも修正されました。v2.1.207:Amazon Bedrock、Google Vertex AI、Microsoft Foundry で auto mode が正式提供され、管理設定 disableAutoMode でオプトアウトできます。企業向けプロセスランチャー用の CLAUDE_CODE_PROCESS_WRAPPER が追加されました。MCP ツール数が多い場合、ツール使用ラウンドが最大 7 倍高速化し、セッションのトランスクリプトが 79 分の1に縮小されました。v2.1.208:壊滅的な削除に対する確認プロンプトは、--dangerously-skip-permissions と auto mode を使用していても表示されます。 

  69. Claude Code Changelog(公式)および GitHub リリース v2.1.210v2.1.211v2.1.212。2026年7月。v2.1.210:worktree 分離された subagents は、メインのチェックアウトを変更できなくなりました。Agent tool は、subagent が読み取ったコンテンツからの間接的なプロンプトインジェクションに対して強化されました。auto-mode の分類器はデフォルトで Sonnet 5 を使用し、セッション単位で固定されます。サイズ制限を超える MEMORY.md への書き込みは、暗黙に切り詰められるのではなくエラーになります。v2.1.211PreToolUse hook の ask 判定により、権限の結果は最低でも確認プロンプトになります。auto mode が上書きして、サンドボックス化されていない Bash を許可することはできません。--forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT は、subagent のテキストを stream-json 出力へ転送します。「always allow」ルールは、worktree をまたいでリポジトリルートに保持されます。権限プレビューでは、双方向テキスト上書き文字、ゼロ幅文字、類似文字が無害化されます。v2.1.212:セッション単位の subagent 起動上限(デフォルト 200、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION/clear でリセット)、セッション単位の WebSearch 上限(200、CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION)が追加されました。Task tool の mode パラメーターは、親セッションの権限モードを継承する方式に移行するため非推奨になりました。/fork は新しいバックグラウンドセッションを作成し、セッション内で使用するバリアントは /subtask に名称変更されました。2分を超える MCP 呼び出しは、自動的にバックグラウンドへ移行します(CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS)。 

  70. Anthropic、@anthropic-ai/claude-agent-sdk TypeScript リリース v0.3.205–v0.3.208。2026年7月。型付きの割り込み受領情報(still_queued UUID、system/init で通知される interrupt_receipt_v1 ケイパビリティ)、メッセージごとの queued/started/completed/cancelled/discarded を報告する command_lifecycle フレーム、AgentToolCompletedOutput 型が追加されました。canUseTool は、updatedInput なしで {behavior: 'allow'} を返せます。v0.3.208 のセキュリティ修正:hook の処理待ち中に呼び出し元から中止要求が届くと、hook の成功として変換されていたため、PreToolUse hook で制御されているツールが呼び出し元の中止後に実行される可能性がありました。 

  71. Model Context Protocol、PR #3002。2026年7月16日にドラフト仕様へマージされました。レスポンスの _meta に任意の io.modelcontextprotocol/serverInfo オブジェクトを追加し、リクエストの clientInfo を任意にします。これにより、SEP-2575 のステートレスコアでステートフルな初期化ハンドシェイクが削除された後も、サーバーの識別情報を利用できるようになります。この識別情報は自己申告であり、検証されません。表示とログ記録のみを目的としており、セキュリティ上の判断に使用すべきではありません。ステートレス仕様の改訂版は2026年7月28日に公開され、現行の仕様リビジョンとなっています(2026年8月12日に再検証済み)。 

  72. OpenAI、Codex CLI リリース rust-v0.143.0rust-v0.144.0rust-v0.144.5。2026年7月。v0.143.0:MCP tools はデフォルトでツール検索を介して読み込まれます(スキーマの先行読み込みではなく、ツールの遅延読み込み)。v0.144.0:新しい writes アプリ承認モードが追加されました。読み取り専用の操作は確認なしで実行され、書き込みには承認が必要です。また、MCP の対話型認証が正式提供されました。v0.144.5:危険なコマンドの検出範囲が拡大されました。 

  73. OpenAI、openai-agents-python v0.18.2(2026年7月11日)および openai-agents-js v0.13.2(2026年7月10日)。両リリースでは、ホステッド型マルチエージェント対応がベータ版として追加されました。これは、複数のエージェントを OpenAI がホステッドサービスとしてオーケストレーションするもので、Anthropic の Managed Multiagent Orchestration パブリックベータに相当します。 

  74. Claude Code Changelog(正本)、v2.1.214〜v2.1.216、2026年7月。v2.1.214:単一セグメントの dir/** パスパターンを使用する権限ルールと hook の if: 条件が、<cwd>/dir を基準とするようになりました(任意の深さを対象にする場合は **/dir/** と記述します)。以前は、Edit(src/**) のような許可ルールが、ツリー内の任意の階層にネストされた dir/ に対して自動承認されていました。拒否ルールと確認ルールでは、引き続き任意の深さで照合されます。そのほか、EndConversation tool、フェイルクローズ方式による Bash/PowerShell 権限強化、stdout の JSON がスキーマ検証に失敗した場合でも hook の終了コード 2 で処理をブロックする機能、メモリの frontmatter における ISO modified タイムスタンプの暗黙的な切り捨ての廃止、OTel の message.uuidclient_request_idtool_sourceCLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH が追加されました。v2.1.215:同梱の /verify/code-review skills は自己呼び出しされなくなり、明示的な呼び出しが必要になりました。v2.1.216:worktree で隔離された subagents が、git -C--git-dir、または GIT_DIR/GIT_WORK_TREE を使って git の処理先を共有チェックアウトへ変更できなくなりました。worktree セッションが別プロジェクトに残された worktree を参照する問題も解消されています。プロジェクト外を指すシンボリックリンク化された .claude に対しては、ワークフローおよびスケジュール済みタスクを書き込めなくなりました。/rewind はシンボリックリンクやハードリンクをたどらなくなりました。sandbox.filesystem.disabled により、ネットワーク送信のみを対象としたサンドボックス化が可能です。再開されたバックグラウンドのエージェントセッションでは、エージェントのプロンプトとツール制限が復元されます。セッション途中で変更された skill やコマンドは、再起動せずにスラッシュメニューへ反映されます。2026年7月21日(PST)に正本の Changelog と照合済みです。 

  75. Anthropic、@anthropic-ai/claude-agent-sdk TypeScript リリース v0.3.214〜v0.3.216 および claude-agent-sdk Python v0.2.124。2026年7月。TypeScript:set_permission_mode は不明なモードを拒否します。割り込みによって途中で切り詰められたメッセージには aborted: true が設定されます。tool_progress には subagent_typesubagent_retry が含まれます。タスク通知のサブ種別として scheduled-triggerSessionStart の source として "fork" が追加されました。non_execution_kinduser_feedback を含む tool_result_meta サイドカーが追加されています。rewindFiles のレスポンスには、省略可能な skippedLinks 件数が含まれます。成功結果メッセージには、省略可能な user_message_uuidrequest_sent_wall_ms が追加されました。Python v0.2.124(Windows、BatBadBut 系):.bat/.cmd ファイルの起動を拒否します。resume/session_id の値に cmd.exe のメタ文字が含まれる場合は ValueError が発生します。ハイフンで始まる extra_args の値は --flag=value としてバインドされます。 

  76. OpenAI、Codex CLI rust-v0.145.0 リリースノート、2026年7月。オプトインのマルチエージェント V2 機能が安定化されました(sub-agent のモデル、推論レベル、同時実行数を設定可能で、エージェントロールも復元)。/import の対象も拡大され、Claude Code と Cursor から設定、MCP servers、plugins、sessions、commands、プロジェクト単位の memories を移行できます。強化点として、MCP の起動タイムアウト、OAuth の更新の直列化、ノンブロッキングな OAuth 検出、強制 rm 検出の強化、拒否理由の保持、実験的なページネーション対応スレッド履歴が含まれます。 

  77. Model Context Protocol、仕様リリースのドキュメント PR #3064#3066#3098。2026年7月28日の仕様リリースに先立ち、2026年7月21日にマージされました。最終版では、Tasks はコア機能ではなく、省略可能な io.modelcontextprotocol/tasks 拡張機能として提示されます。また、HTTP+SSE トランスポートは非推奨となり、Streamable HTTP が推奨されます。 

  78. Claude Code Changelog(正本)、v2.1.217、2026年7月21日。subagents はデフォルトでネストした subagents を起動しなくなりました。より深いネストを許可するには、CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH を設定します。同時実行される subagents の上限も新設されました(デフォルトは 20、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)。これにより、1つのメッセージから無制限にバックグラウンドエージェントが派生することを防ぎます。--max-budget-usd は、バックグラウンドの subagents を実際に停止するようになりました。上限に達すると新規起動が拒否され、実行中のバックグラウンドエージェントも停止します。バックグラウンドセッションの隔離では、シンボリックリンクを含む作業ディレクトリを正規化し、ワークスペースフォルダーからの脱出経路を塞ぎます。2026年7月22日(PST)に正本の Changelog と照合済みです。 

  79. Anthropic、claude-agent-sdk Python v0.2.125 および @anthropic-ai/claude-agent-sdk TypeScript v0.3.217、2026年7月21日。Python v0.2.125 は、SDK の公開機能に変更を加えず、CLI v2.1.217 を同梱しています。TS v0.3.217 も同時にリリースされました。どちらも CLI の新しい subagent のネストおよび同時実行数のデフォルト設定を引き継いでいます。 

  80. Model Context Protocol、PR #3092、2026年7月21日にマージ。番号が変更されたドラフトスキーマおよび適合性テストスイートに SEP-2575 のエラーコードを合わせるための規範的な修正で、2026年7月28日の仕様リリースに向けた準備の一環です。 

  81. Anthropic Engineering、“製品全体で Claude を封じ込める方法”、2026年5月25日。製品の形態に応じた3つの封じ込めパターンを示しています。サーバー側では、セッションごとのファイルシステムを備えた一時的な gVisor コンテナ(claude.ai)を使用します。人間が介在する OS サンドボックス(Claude Code)では、macOS の Seatbelt、Linux の bubblewrap、オープンソース化された sandbox-runtime を使用します。プラットフォームのハイパーバイザー上では、密閉された VM(Claude Cowork)を使用します。macOS では Apple Virtualization framework、Windows では HCS を採用し、workspace と .claude だけをマウントします。デザイン原則は、まず環境レイヤーで封じ込め、次にモデルレイヤーで動作を誘導すること、ユーザーが監督できる度合いに隔離の強度を合わせること、独自の隔離コードよりも実績のある仕組み(ハイパーバイザー、seccomp、コンテナランタイム)を優先すること、プロジェクトローカルの設定とツール出力を信頼しないことです。認証情報は、スコープを限定し、個別に失効できるセッション単位のトークンを使ってサンドボックス外に保持します。Cowork では、VM 内の防御的な MITM プロキシが、VM 自身にプロビジョニングされたトークンを持たないリクエストを拒否することで、これを強制しています。 

  82. Claude Code Changelog(正本)、v2.1.218、2026年7月22日。危険な rm、バックグラウンド実行の &、疑わしい Windows パスに関するチェックでは、権限ダイアログが開かれなくなり、auto-mode classifier が判定します。auto を使用する plan mode でも、静的解析で読み取り専用と証明できない Bash コマンドについて確認を求めず、classifier が判断します。エージェントの frontmatter に指定する hooks を使用するには、そのエージェントファイル自身が置かれているフォルダーで workspace trust が承認されている必要があります。context: fork を指定した skills は、デフォルトでバックグラウンド実行されます(skill ごとに background: false を指定すれば無効化できます)。/code-review はバックグラウンドの subagent として実行されます。/deep-research は手動で呼び出した場合にのみ開始します。headless および SDK セッションでは、compaction 後も fork セッションの系譜が保持されます。Ctrl+B によるバックグラウンド化には、他の経路と同じバックグラウンドシェルの上限が適用されます。2026年7月24日(PST)に正本の Changelog と照合済みです。 

  83. Anthropic、@anthropic-ai/claude-agent-sdk TypeScript v0.3.218 および claude-agent-sdk Python v0.2.126、2026年7月22日。TypeScript:SkillToolOutput.background フラグ、ストリーム途中の 429/529 エラーを報告する api_error_statusmodelUsagecanonicalModelprovider が追加されました。Python:ResultMessage.terminal_reasoncanonicalModel/provider を持つ型付きの model_usage エントリが追加され、CLI v2.1.218 が同梱されています。 

  84. Claude Code Changelog(正規版)v2.1.219(2026年7月24日)および v2.1.220(2026年7月25日)。v2.1.219:「subagents がネストされた subagents を生成できる深さは、デフォルトで最大3になりました(従来は1)。ネストを無効にするには CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 を設定してください」;Claude Opus 5(claude-opus-5)がデフォルトの Opus モデルとして追加され、1M コンテキストと、MTok あたり $10/$50 の高速モードに対応;sandbox.network.strictAllowlist により、サンドボックス化されたコマンドでは、許可リストにないホストへのアクセスを確認なしで拒否;新しい DirectoryAdded hook は、/add-dir または SDK の register_repo_root 制御リクエストによってセッション途中に作業ディレクトリが登録された後に発火;動的ワークフローのデフォルトは中規模のガイドライン(「エージェント数は15未満を目安にする」)となり、任意の設定ファイルから workflowSizeGuideline で設定可能(設定中は /config の該当行が非表示)で、実行中のワークフローのステータス行にも表示;stream-json でネストされた subagent の転送に対応し、深さ2以上の subagents が --forward-subagent-text の対象として、生成元の Agent の tool_use ID をキーに表示;ヘッドレスの stream-json 初期化イベントに mcp_server_errors が追加され、設定検証でスキップされた --mcp-config エントリを列挙し、ターミナル実行時には起動警告も表示;接続失敗時の claude mcp list/mcp に HTTP ステータスとエラーテキストを表示し、先頭または末尾に見えない空白を含む MCP 設定値についても警告;管理対象の MCP 許可リスト/拒否リストにある ${VAR} エントリは、設定ファイルの環境ではなく、起動時の環境および管理対象設定の環境から解決;ターンがストリーム途中の API エラーで終了しても、claude -p がそれまでに生成したテキストを破棄しないように変更;CLAUDE_CODE_GIT_BASH_PATH が bash/sh バイナリ以外を指す場合は、警告を出して無視;Opus 4.7 を高速モードの対象から削除(/fast は Opus 5 と Opus 4.8 に適用);同梱の claude-api skill は Opus 5 をデフォルトとし、Opus 4.8 からの移行手順を提供。v2.1.220:バグ修正と信頼性の向上のみ。自動モードで Fable-5 から「利用可能な最良の Opus モデル」へフォールバックする機能は v2.1.176 で導入され、現在は Opus 5 に解決されます。2026年7月25日に正規版 changelog と照合済み。 

  85. Anthropic、@anthropic-ai/claude-agent-sdk TypeScript v0.3.219 および v0.3.220claude-agent-sdk Python v0.2.127 および v0.2.128。2026年7月24〜25日。TypeScript v0.3.219DirectoryAdded ライフサイクル hook イベントを制御プロトコルに追加;割り込み制御リクエストのオプトイン項目 cancel_queued(ケイパビリティ interrupt_cancel_queued_v1)により、中止処理と併せてキュー内およびディスパッチ待ちのメッセージもキャンセル;結果メッセージと初期化メッセージに fast_mode_disabled_reason を追加;モデル切り替え後、初期化レスポンスが起動時モデルの fast_mode_state を報告しないように変更;sandbox.network.strictAllowlistworkflowSizeGuideline を SDK の設定型に追加。Python v0.2.127:バックグラウンドタスクの実行中に stdin が早期終了する問題を修正しました。query() は、バックグラウンドの subagents がまだ実行中でも最初の result フレームで stdin を閉じていたため、それらの SDK-MCP ツール呼び出しが "Stream closed" で失敗し、PreToolUse hooks が通知なく迂回されていました。現在は、実行中のすべてのタスクが完了し、最終結果フレームが届くまで stdin が開いたままになります(#1103)。v0.3.220 / v0.2.128:CLI v2.1.220 とのパリティを確保する更新。 

  86. レジストリでの検証(2026年8月12日):pypi.org/pypi/claude-agent-sdk/json が返すバージョンは 0.2.137;registry.npmjs.org/@anthropic-ai/claude-agent-sdk が返す dist-tags latest は 0.3.229。 

  87. Claude Code v2.1.224 リリースノート、2026年8月7日(セッション間の SendMessageListAgentscrossSessionInbound、セルフホスト型ランナー)。機能仕様は code.claude.com/docs/en/cross-session-messaging を参照;また、Pro、Max、Team プランの Claude Code で Auto mode がデフォルトになりました、Anthropic、2026年8月7日発表、2026年8月14日適用。セッションごとに Shift+Tab でオプトアウトでき、defaultMode で固定、disableAutoMode で組織全体を無効化できます。 

  88. Subagents のドキュメントおよび Claude Code v2.1.232 リリースノート。ドキュメントからの引用:「fork とは、新しい状態から開始する代わりに、それまでの会話全体を継承する subagent です。これにより、通常は subagents が提供する入力の分離がなくなります。fork はメインセッションと同じシステムプロンプト、ツール、モデル、メッセージ履歴を参照します」;「fork 自身のツール呼び出しは会話に表示されず、最終結果だけが返されます」;「Claude Code は対話型セッションで fork モードをデフォルトで有効にし、-p を使用する非対話型モードと Agent SDK ではデフォルトで無効にします。対話型のデフォルト動作には Claude Code v2.1.232 以降が必要です」。チームメイトのモデルのフォールバックについて、agent teams のドキュメントでは次のように説明されています:「teammateDefaultModel は v2.1.234 で削除されました……代わりに、プロンプト内でモデル名を指定するか、CLAUDE_CODE_SUBAGENT_MODEL を設定してください」。指定がない場合、チームメイトは「リードが現在使用しているモデル」で動作します。2026年8月18日取得。 

  89. Agent Plugins: The Portable Agent Plugin Standard、仕様バージョン 1.0.0、2026年8月6日公開。自称は「AI エージェント向けのポータブルなパッケージ形式」。plugin.json マニフェストは必須;skills/ は任意(直下の各サブディレクトリに SKILL.md があれば、それぞれ1つの Agent Skill);mcp.json も任意(stdio、Streamable HTTP、従来の HTTP+SSE);逆ドメイン形式のクライアント名前空間を採用。ローンチ時の対応クライアント:VS Code、Cursor、GitHub Copilot、ChatGPT & Codex、Kiro;仕様策定には Amazon、Anysphere、GitHub、Microsoft、OpenAI、Vercel が参加し、ローンチ当日に Google もメンテナーとして加わりました。Anthropic はこの連合に参加していません。 

  90. PyPI の claude-agent-sdk とその CHANGELOG;npm の @anthropic-ai/claude-agent-sdk。2026年8月1日検証:Python 0.2.128(changelog:「同梱の Claude CLI をバージョン 2.1.220 に更新」;mcp<2.0.0,>=1.23.0 が必要)、TypeScript 0.3.220(2026年7月24日公開、「Claude Code v2.1.220 とのパリティ」)。この段落に以前記載されていた数値(CLI v2.1.202 を同梱する Python v0.2.111、TypeScript v0.3.203)は、このガイドのほかの箇所ですでに 0.2.128 と 0.3.220 を追跡していたにもかかわらず、各行とも17リリース分古いものでした。 

  91. Anthropic、「Claude Opus 5 の紹介」。2026年7月24日。claude-opus-5;「入力100万トークンあたり $5、出力100万トークンあたり $25」;高速モードは「デフォルト速度の約2.5倍」で動作し、価格は「Opus 5 の基本料金の2倍」(Claude Code v2.1.219 changelog によれば MTok あたり $10/$50。同 changelog には 1M のコンテキストウィンドウも記載)。ベンチマーク:「Frontier-Bench v0.1 では、Opus 5 がほかのすべてのモデルを上回り、Opus 4.8 の性能を2倍以上上回っています」;CursorBench 3.2 では、「Fable 5 の最高スコアとの差を0.5%以内に抑えながら、コストは半分」;「ARC-AGI 3 では……Opus 5 のスコアは次点モデルの3倍」;OSWorld 2.0 では、「Fable 5 の最高結果を、わずか3分の1強のコストで」上回っています。「思慮深く積極的なモデル」であり、「自身の作業を検証し、慎重に反復する能力が大幅に向上している」と評されています。 

NORMAL agent-architecture.md EOF