Agent tool description
CLI Claude Code, interactive mode, v2.1.308. The text the model is given for this tool, line by line, with each line marked against the previous capture taken the same way. One model string produces this prompt.
As described in the compaction instruction request, not the ordinary one.
Lines223,049 characters
Moved+0−0 against v2.1.307
Sent to1model strings get this description
Copies1distinct descriptions under this name
Parameters62 of them required
Every tool→every description on this arm
Plain text · sha256 e3567c6aef52
The description, line by line
22 lines Line numbers are v2.1.307 on the left and this capture on the right.
1
1
Launch a new agent to handle complex, multi-step tasks. Each agent type has specific capabilities and tools available to it.
2
2
3
3
Available agent types are listed in <system-reminder> messages in the conversation.
4
4
5
5
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).
6
6
7
7
## When to use
8
8
9
9
A fresh agent costs more than it looks. It knows only what you put in the prompt, and you see only the summary it sends back — both handoffs drop detail, and neither of you can tell what the other missed. You can't watch it work, only wait or cancel. Its mistakes come back in the same confident register as its findings, and an agent handed your hypothesis tends to return it confirmed. Several at once spend tokens in a burst the user didn't ask for. Weigh those tokens against the accuracy they buy: the user pays for agents you did not need, and pays again for work you redo because you skipped one.
10
10
11
11
Reach for this when you have independent work to run in parallel, when the user asks for a side quest that shouldn't block your main thread, or when answering would mean reading across several files — delegate that and you keep the conclusion, not the file dumps.
12
12
13
13
Do the work yourself when it is a handful of tool calls or a lookup whose target you already know; don't delegate a check you could run inline. Delegate review only when you want a read that isn't anchored on yours — then give it the code, not your conclusion. Once you've delegated something, don't also run it yourself; wait for the result. When in doubt, don't spawn.
14
14
15
15
When you do spawn one, brief it like the peer it is: state the goal and what you have already ruled out, point it at the files and docs worth reading instead of retyping them, and keep the scope explicit and narrow. That brief is the only context it will have, so it is your first lever on every cost above — and if you cannot write a clear one, you do not understand the task well enough to hand it off.
16
16
17
17
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.
18
18
19
19
- The agent's final report is not shown to the user — relay what matters.
20
20
- 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).
21
21
- Each agent type's model, reasoning effort, and tools come from its definition (`.claude/agents/*.md` frontmatter or SDK `agents`).
22
22
- `isolation: "worktree"` gives the agent its own git worktree (auto-cleaned if unchanged).
What it accepts
6 parameters The JSON parameter schema sent beside this description, 1,815 characters of it. Name, type, then whether the client marked it required.description
string
required
A short (3-5 word) description of the task
effort
one of 5
optional
Reasoning effort for this agent. Set this ONLY when the user, or instructions such as CLAUDE.md or a skill, explicitly ask that this agent or delegated work run at a specific effort level, never on your own judgment; otherwise omit it and the agent runs at its usual effort. Ignored for subagent_type: "fork": a fork runs at your own effort.
isolation
worktree | remote
optional
Isolation mode. "worktree" creates a temporary git worktree so the agent works on an isolated copy of the repo. "remote" launches the agent in a remote cloud environment (always runs in background; availability is gated).
model
sonnet | opus | haiku | fable
optional
Optional model override for this agent. Takes precedence over the agent definition's model frontmatter and the configured default subagent model. If omitted, uses the agent definition's model, else the default (inherits from the parent unless a default subagent model is configured). Ignored for subagent_type: "fork" — forks always inherit the parent model.
prompt
string
required
The task for the agent to perform
subagent_type
string
optional
The type of specialized agent to use for this task
sha256 bab7670a69fe · the schema as the client sent it:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"description": {
"description": "A short (3-5 word) description of the task",
"type": "string"
},
"effort": {
"description": "Reasoning effort for this agent. Set this ONLY when the user, or instructions such as CLAUDE.md or a skill, explicitly ask that this agent or delegated work run at a specific effort level, never on your own judgment; otherwise omit it and the agent runs at its usual effort. Ignored for subagent_type: \"fork\": a fork runs at your own effort.",
"enum": [
"low",
"medium",
"high",
"xhigh",
"max"
],
"type": "string"
},
"isolation": {
"description": "Isolation mode. \"worktree\" creates a temporary git worktree so the agent works on an isolated copy of the repo. \"remote\" launches the agent in a remote cloud environment (always runs in background; availability is gated).",
"enum": [
"worktree",
"remote"
],
"type": "string"
},
"model": {
"description": "Optional model override for this agent. Takes precedence over the agent definition's model frontmatter and the configured default subagent model. If omitted, uses the agent definition's model, else the default (inherits from the parent unless a default subagent model is configured). Ignored for subagent_type: \"fork\" \u2014 forks always inherit the parent model.",
"enum": [
"sonnet",
"opus",
"haiku",
"fable"
],
"type": "string"
},
"prompt": {
"description": "The task for the agent to perform",
"type": "string"
},
"subagent_type": {
"description": "The type of specialized agent to use for this task",
"type": "string"
}
},
"required": [
"description",
"prompt"
],
"type": "object"
}