Repository navigation
Claude Code Tools Agents And Tasks
xsyetopz edited this page Oct 19, 2026
·
1 revision
These tools start subagents, send messages, track tasks, schedule work, and control plan mode and worktrees.
Claude uses them to split a large job into parts.
For example, Agent starts a subagent with its own context, and TaskCreate adds a step to the task list.
The marks are explained on Tools.
| Mark | Item | What It Does | How It Works | Where It Can Be Used | Read-Only | Parallel | Deferred | Source |
|---|---|---|---|---|---|---|---|---|
| ✅ | Agent |
Starts a subagent (alias Task). |
Parameters are listed in Agent Parameters. | Main session and subagents until the depth limit. At the limit only a fork keeps it. | ✅ | ✅ | ❌ | Tools Reference, Configure Permissions |
| ✅ | SubagentHandback |
A subagent returns its final report to its caller. |
message (string, required). alwaysLoad true. Not deferred. Only offered to a subagent that reports through it. |
Subagents. | ❌ | ❌ | ❌ | Tools Reference, Create Custom Subagents |
| ✅ | SendMessage |
Sends a message to a teammate, a named subagent, main, or a background agent. |
to (string, required), summary (string, optional, label), message (string, required). In a build with notify_when_idle (boolean, optional) the field asks for one idle notice. |
Main session and subagents. | ✅ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | ListAgents |
Lists agents that SendMessage can reach. |
channel and q (strings, optional, "not available in this build"). Alias ListPeers. The docs say cross-session messaging must be on. Not kept in background subagents. |
Main session and foreground subagents. | ✅ | ✅ | ❌ | Tools Reference, Create Custom Subagents |
| ✅ | Skill |
Runs a skill or slash command. |
skill (string, required), args (string, optional). |
Main session and subagents. Kept in background subagents. | ❌ | ❌ | ❌ | Tools Reference, Configure Permissions |
| ✅ 🧪 | TodoWrite |
Writes the session checklist (legacy). |
CLAUDE_CODE_ENABLE_TASKS=0 selects TodoWrite over the Task tools. A hidden server-side flag turns it on. |
Main session and subagents. Kept in background subagents. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | TaskCreate |
Creates a task. |
subject (string, required), description (string, required), activeForm (string, optional), metadata (object, optional). Default on models in the Task tool availability list. |
Main session. Teammates keep them. Other subagents do not. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | TaskGet |
Reads a task. |
taskId (string, required). A hidden server-side flag turns it on. |
Same as TaskCreate. |
✅ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | TaskUpdate |
Updates or deletes a task. |
taskId (required), subject, description, activeForm, status (task status or deleted), addBlocks, addBlockedBy (string arrays), owner, metadata (null deletes a key). |
Same as TaskCreate. |
❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | TaskList |
Lists tasks. | No parameters. A hidden server-side flag turns it on. | Same as TaskCreate. |
✅ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | CronCreate |
Schedules a prompt (recurring or once). |
cron (5-field string, local time, required), prompt (string, required), recurring (boolean, default true, expires after a set number of days), durable (boolean, optional). |
Main session. Teammates keep them. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | CronDelete |
Cancels a cron job. |
id (string, required). A hidden server-side flag turns it on. |
Same. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | CronList |
Lists cron jobs. | No parameters. A hidden server-side flag turns it on. | Same. | ✅ | ❌ | ❌ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | ScheduleWakeup |
Schedules the next turn of a dynamic /loop. |
delaySeconds (number, clamped to 60 to 3600), reason, prompt, stop (boolean), noop (boolean). All optional, the first three are required unless stop is true. shouldDefer:!1. |
Main session. | ❌ | ❌ | ❌ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | Workflow |
Runs a JavaScript workflow that orchestrates subagents. |
script, name, scriptPath, args, resumeFromRunId. description and title are ignored. Alias RunWorkflow. CLAUDE_CODE_DISABLE_WORKFLOWS=1 turns it off. Removed from subagents. |
Main session. | ❌ | ❌ | ❌ | Tools Reference, Create Custom Subagents |
| ✅ | EnterWorktree |
Creates a git worktree and switches into it. |
name (string, optional) or path (string, optional, an existing worktree). Not both. Not deferred when CLAUDE_CODE_SESSION_KIND is bg. Refused from a subagent with a cwd override. |
Main session and subagents. Kept in background subagents. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ | ExitWorktree |
Leaves the worktree. |
action (keep or remove, required), discard_changes (boolean, needed for remove with changes). Refused from a subagent with a cwd override. |
Main session and subagents. Kept in background subagents. | ❌ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | EnterPlanMode |
Switches to plan mode. | No parameters. Gate: j3.isEnabled(). Main session only (validation error for an agent). Removed from subagents. |
Main session. | ✅ | ❌ | ✅ | Tools Reference, Create Custom Subagents |
| ✅ 🧪 | ExitPlanMode |
Presents the plan and leaves plan mode. |
allowedPrompts (deprecated, unused). Gate: complex isEnabled. Kept in a subagent only when its permissionMode is plan. |
Main session. | ❌ | ❌ | ✅ | Tools Reference, Configure Permissions |
| ✅ | AskUserQuestion |
Asks the user 1 to 4 multiple-choice questions. | Removed from every subagent. | Main session. | ✅ | ❌ | ❌ | Tools Reference, Configure Permissions |
| 🔍 🧪 | ProposeGoal |
Proposes a goal condition for user approval. |
condition (string, required), ask_user (boolean, default true). A hidden server-side flag turns it on. |
Main session. | ✅ | ❌ | ✅ | Bundle searchHint:"propose a session goal condition for the user to approve with one keypress"
|
| ✅ | ReportFindings |
Reports code-review findings as a list. |
level (low, medium, high, xhigh, max, optional), findings (array of at most 32, required). Used only when review instructions ask for it. |
Main session. | ✅ | ✅ | ❌ | Tools Reference |
| Parameter | What It Does | Required |
|---|---|---|
description |
A short (3-5 word) description of the task. | ✅ |
prompt |
The task for the agent. | ✅ |
subagent_type |
Type of agent to use. | ❌ |
model |
sonnet, opus, haiku, or fable. Overrides the agent definition. |
❌ |
effort |
Reasoning effort for this agent. Omitted in some sessions. | ❌ |
run_in_background |
Agents run in the background by default. false waits for the result. |
❌ |
name |
Name that makes the agent addressable by SendMessage while it runs. |
❌ |
isolation |
worktree for a temporary git worktree, or remote for a cloud environment. |
❌ |
cwd |
Absolute path to run in. Not with isolation: "worktree". Offered only in some sessions. |
❌ |
team_name |
Deprecated and ignored. | ❌ |
mode |
Deprecated and ignored. | ❌ |
The source is the Agent input schema in the bundle.
-
AgentwasTaskbefore2.1.63.Task(...)still works as an alias in rules and agent files (Subagents). The bundle alias list holdsTask. -
effortonAgentalso takeslowerandhigherwhenCLAUDE_CODE_SNAPPY_PELICANis on (or a hidden server-side flag is on) and no model override is set. These are ignored for forks, remote isolation, and teammates (bundle parameter text).
- Subagents covers custom agents.
- Tools Reference is the docs page.
claudetto
- Start
- Slices
- Add-Ons
- Reference
- Rationale
- Evidence
- Development
Claude Code 2.1.303
- Start
- Models and Context
- Configure
- Extend
- Findings