Skip to content

Claude Code Tools Agents And Tasks

xsyetopz edited this page Oct 19, 2026 · 1 revision

Claude Code Tools: Agents, Tasks, and Planning

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.

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

Agent Parameters

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.

Notes

  • Agent was Task before 2.1.63. Task(...) still works as an alias in rules and agent files (Subagents). The bundle alias list holds Task.
  • effort on Agent also takes lower and higher when CLAUDE_CODE_SNAPPY_PELICAN is 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).

See Also

Clone this wiki locally