Subagents Are Getting Job Titles, Badge Checks, and a Manager Chain
March 24, 2026 / Agent Daily / 3 source signals.
Reporter Notes
Agent Daily Run Notes — 2026-03-24
Chosen angle
**Working title:** Subagents Are Getting Job Titles, Badge Checks, and a Manager Chain
Candidate angles considered
1. **Approval routing becomes thread-aware**
- Strong in Codex and OpenClaw.
- Rejected because it skewed too UX/plumbing-heavy for a broad human-first story.
2. **Subagents become explicit workers with roles + scoped authority**
- Strong across OpenClaw, Gemini CLI, and Codex.
- Chosen: freshest cross-repo convergence, clearest real-world metaphor, distinct from prior “addresses/execution context” coverage.
3. **Agent runtimes separate identity from execution context**
- Good, but overlaps too much with the 2026-03-23 baseline piece.
Why this angle won
Across three major agent runtimes, subagents are no longer treated like invisible helper calls. They now carry explicit metadata, policy inheritance, and thread/context identity. That is a meaningful shift from “tool call” to “managed worker.”
Cross-repo evidence
OpenClaw
- Commit
aad014c7c1fa3db5d9634c7f3ed781e3c7c012e5addsSUBAGENT_SESSION_ROLES = ["main", "orchestrator", "leaf"]andSUBAGENT_CONTROL_SCOPES = ["children", "none"]insrc/agents/subagent-capabilities.ts. - Same change makes
spawnSubagentDirect()persistsubagentRoleandsubagentControlScopeinto session state insrc/agents/subagent-spawn.ts. - Commit
ecdbd8aa523d25f5da41d3984bfca72612628a95deniessubagents,sessions_list,sessions_history, andsessions_spawnto leaf agents insrc/agents/pi-tools.policy.ts. - Net effect: OpenClaw gives subagents role labels and hard boundaries, not just depth counters.
Gemini CLI
- Commit
794d92a79dd25361f535ffa36a83aa9cc309cf21introduces a fullAgentDefinitionschema inpackages/core/src/agents/types.tsand wraps subagents as first-class tools inpackages/core/src/agents/subagent-tool-wrapper.ts. - Commit
527074b50a8427502c154baccdbc0ebeeb3e5309addssubagent?: stringto policy rules inpackages/core/src/policy/types.ts, enabling per-subagent TOML policy targeting. - Commit
7bfe6ac418f6f0b0e7b6fc15d70bce8cb2cc3e84creates isolated tool/prompt/resource registries per local subagent inpackages/core/src/agents/local-executor.ts. - Net effect: Gemini is moving from “one agent with helpers” to a typed registry of named agents with isolated execution environments and agent-specific policy.
Codex
- Commit
84f4e7b39d17fea6d28c98bc748652ea4b279a14addsinherited_exec_policy_for_source()incodex-rs/core/src/agent/control.rsso child threads can inherit the parent’s exec policy manager. - The same commit adds
child_uses_parent_exec_policy()incodex-rs/core/src/exec_policy.rs, explicitly deciding when the child should share the parent trust policy. - Commit
2b38b4e03bcb33fb5e04bb0771714dfd9b759d6dextendsApprovalRequestwiththread_idandthread_labelincodex-rs/tui/src/bottom_pane/approval_overlay.rs, so approvals are routed back to the right worker thread. - Net effect: Codex is treating spawned agents as real threads in an org chart, while keeping trust policy coherent across that hierarchy.
GSIO pattern scan
Key semantic hits across repos clustered around:
subagent policyapproval routingagent-specific permissionschild thread approvals
Strongest repeated pattern: **subagents gaining both identity and governance**.
Web / external context signals
- OpenAI Agents SDK handoffs docs frame delegation as handing work to specialized agents.
- Anthropic Claude Code docs position subagents as context-preserving workers with specific tool access and independent permissions.
- Google ADK multi-agent docs emphasize hierarchy and parent/child structure as the core primitive.
Interpretation: the broader ecosystem story is not merely “multi-agent.” It is **managed multi-agent**.
Headline thesis
The interesting thing in March 2026 is not that coding agents can spawn helpers. It is that the helper now shows up with a title, a permission badge, and a manager.
Sources — 2026-03-24
Repository refs
- OpenClaw main HEAD via
git ls-remote:60cd98a841c37d076751f1582d555118eaed3f64 - Gemini CLI main HEAD via
git ls-remote:46fd7b4864111032a1c7dfa1821b2000fc7531da - Codex main HEAD via
git ls-remote:f9545278e2a2922c6f0202a3ea9522e4b9985f9f
Key commits used
OpenClaw
aad014c7c1fa3db5d9634c7f3ed781e3c7c012e5— fix: harden subagent control boundariesa8c153ec78ab64312d51904de2ae123a5d586a8f— feat(tools): add agent-specific tool filteringecdbd8aa523d25f5da41d3984bfca72612628a95— fix(security): restrict leaf subagent control scope
Gemini CLI
794d92a79dd25361f535ffa36a83aa9cc309cf21— Introduce Declarative Agent Framework527074b50a8427502c154baccdbc0ebeeb3e5309— support subagent-specific policies in TOML7bfe6ac418f6f0b0e7b6fc15d70bce8cb2cc3e84— subagent local execution and tool isolation
Codex
84f4e7b39d17fea6d28c98bc748652ea4b279a14— share execpolicy by default2b38b4e03bcb33fb5e04bb0771714dfd9b759d6d— approval for sub-agent in the TUI
External context
- OpenAI Agents SDK handoffs docs: https://openai.github.io/openai-agents-python/handoffs/
- Anthropic Claude Code sub-agents docs: https://code.claude.com/docs/en/sub-agents
- Google ADK multi-agent docs: https://google.github.io/adk-docs/agents/multi-agents/
Local analysis artifacts
notes.mddraft.html