Agent features

Subagents, custom agents, parallel agents and hooks

Coding agents now split work across several agents. A subagent gets its own context and returns a summary; custom agents are subagents you define in a file with their own prompt and tools; parallel agents run side by side, often in separate git worktrees; hooks run your own scripts at points in the agent loop.

Reviewed Oct 7, 2026. A tick links to the vendor page that documents it. A question mark means we could not find it in the docs.

Coding agentSubagentsCustom agentsParallel agentsHooksHow subagents work
AmpSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedBuilt-in Search, Oracle, Librarian and Read Thread subagents; custom subagents via plugins
Claude CodeSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supported.claude/agents/*.md and ~/.claude/agents/*.md files; built-in Explore, Plan and general-purpose agents
CodexSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedSpawns subagents in parallel; built-in default, worker and explorer agents; custom agents as TOML in .codex/agents/ or ~/.codex/agents/
CursorSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supported.cursor/agents/ (also reads .claude/agents/) files; built-in Explore, Bash and Browser subagents; foreground or background
Factory DroidSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedCustom droids in .factory/droids/ or ~/.factory/droids/, invoked via the Task tool
Gemini CLISubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supported.gemini/agents/*.md and ~/.gemini/agents/*.md files; built-in Codebase Investigator, CLI Help, Generalist and Browser agents
GitHub CopilotSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedVS Code agent delegates to subagents via the subagent tool; custom .agent.md agents can be used as subagents
gooseSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedSpawned via natural language; recipes (YAML) define specialized subagents
JunieSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedJunie CLI custom subagents as Markdown in .junie/agents/, .agents/ or ~/.junie/agents/
KiroSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedMain agent delegates to built-in or custom sub-agents with their own context
Mistral VibeSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedtask tool delegates to subagents; built-in explore subagent; custom ones via agent_type = "subagent" in TOML
OpenCodeSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedBuilt-in General, Explore and Scout subagents; custom agents as .opencode/agents/*.md or ~/.config/opencode/agents/*.md; invoke with @mention
OpenHandsSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supportedSDK task tool set and delegate tool spawn sub-agents with their own context
Qwen CodeSubagents: supportedCustom agents: supportedParallel agents: supportedHooks: supported.qwen/agents/*.md and ~/.qwen/agents/*.md files; fork subagents
ClineSubagents: supported?Custom agents: not yet verifiedParallel agents: supportedHooks: supporteduse_subagents tool launches read-only research subagents with separate context
ZedSubagents: supportedCustom agents: supportedParallel agents: supported?Hooks: not yet verifiedZed Agent spawn_agent tool runs a subagent with its own context window
piSubagents: not supported?Custom agents: not yet verified?Parallel agents: not yet verifiedHooks: supportedREADME says Pi skips sub-agents by design; can be added via extensions or packages
Aider?Subagents: not yet verified?Custom agents: not yet verified?Parallel agents: not yet verified?Hooks: not yet verifiedNo subagent feature documented

When to use which

  • Use a subagent for research or review that would flood the main context: it reads a lot and returns a short answer.
  • Define a custom agent when you repeat the same role (reviewer, test writer, migration helper) and want fixed tools and instructions.
  • Run agents in parallel for independent tasks; give each its own worktree or branch so they do not overwrite each other.
  • Use hooks for rules that must always run, such as formatting after edits or blocking writes to protected files.
  • For tasks that should finish while you are away, use a cloud coding agent. To build your own multi-agent system, see orchestration frameworks.

Setup guides

Notes on parallel support: Amp: Subagents work in parallel across code areas; multiple orbs (cloud threads) run at once; Claude Code: Background subagents run concurrently; parallel sessions in git worktrees; Codex: Subagents run in parallel, capped by agents.max_concurrent_threads_per_session; Cursor: Run several agents on one repo in isolated git worktrees; background subagents; Factory Droid: Multiple Task calls per turn or run_in_background subagents; Gemini CLI: Parallel sessions via git worktrees (experimental). AGENTS.md works across most of them.

Get the weekly agent stack update

New official MCP servers, spec changes and harness releases, checked against the source. One email a week, no fluff.