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 messages in the conversation. When using the Agent tool, specify a subagent_type parameter to select which agent type to use. If omitted, the general-purpose agent is used. ## When to use 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. - 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. - Each agent type's model, reasoning effort, and tools come from its definition (`.claude/agents/*.md` frontmatter or SDK `agents`). - `isolation: "worktree"` gives the agent its own git worktree (auto-cleaned if unchanged). - Subagents run in the background by default; you'll be notified when one completes. Pass `run_in_background: false` for a synchronous run when you need the result before continuing. 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.