Naming collision: Task tool vs Task* system

Resolved 💬 3 comments Opened Feb 3, 2026 by violet-go Closed Feb 6, 2026

Problem

The Task tool and Task* system (TaskCreate/TaskUpdate/TaskList/TaskGet) share the same namespace but serve different purposes:

  • Task tool: Spawns SubAgents

``typescript
Task(subagent_type: "Explore", prompt: "...")
``

  • Task* system: Manages work items

``typescript
TaskCreate(subject: "...", description: "...")
``

This creates confusion. When users see TaskOutput, they need to remember it's for the Task tool, not TaskCreate.

Suggestion

Rename Task tool to Agent:

Agent(subagent_type: "Explore", prompt: "...")

This aligns with the existing subagent_type parameter and eliminates the naming overlap.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗