Agent tool description
10 model strings share this prompt, byte for byte.
This renders the markdown inside the description, so it isn't quite the description itself. The raw view and the plain text are the bytes as they were sent.
Launch a new agent to handle complex, multi-step tasks. Each agent type has specific capabilities and tools available to it.
Available agent types are listed in <system-reminder> messages in the conversation.
When using the Agent tool, specify a subagent_type to select an agent: "fork" forks yourself (the fork inherits your full conversation context and always runs on your model — a model override is ignored); any other type — or omitting it — starts a fresh agent (general-purpose by default).
When to use
Reach for this when the task matches an available agent type, when you have independent work to run in parallel, or when answering would mean reading across several files — delegate it and you keep the conclusion, not the file dumps. For a single-fact lookup where you already know the file, symbol, or value, search directly. Once you've delegated a search, don't also run it yourself — wait for the result.
A fork runs in the background and keeps its tool output out of your context. If you are the fork, execute directly — don't re-delegate. Subagents run in the background; you'll be notified when one completes. Never fabricate or predict a pending agent's results — the notification is never something you write yourself; if the user asks before it arrives, say it's still running.
- The agent's final report is not shown to the user — relay what matters.
- Use SendMessage with the agent's ID or name to continue a previously spawned agent with its context intact; a new Agent call starts fresh (except subagent_type: "fork", which inherits your context).
- Each agent type's model, reasoning effort, and tools come from its definition (
.claude/agents/*.mdfrontmatter or SDKagents). isolation: "worktree"gives the agent its own git worktree (auto-cleaned if unchanged).