Claude Task Master: Setup and Review (2026)

Claude Task Master by Eyal Toledano (27K+ stars) transforms product requirements documents into structured, dependency-aware task lists. It integrates with Claude Code via MCP, giving your agent a persistent task backlog to work through without losing context.

What It Is

A CLI and MCP server that parses PRDs, feature specs, or plain English descriptions into a JSON task graph. Each task gets:

  • A unique ID
  • Dependencies (which tasks must finish first)
  • Estimated complexity (1-5 scale)
  • Implementation notes generated by AI
  • Status tracking (pending, in-progress, done, blocked)

The MCP integration lets Claude Code query the task list mid-session, pick up the next available task, and mark tasks complete — all without you manually managing a todo list.

Why It Matters

Long Claude Code sessions lose coherence. After 10-15 tool calls, the agent starts forgetting earlier decisions or drifting from the original goal. Task Master solves this by externalizing the plan into a structured file that persists across sessions.

It also bridges the gap between product managers (who write PRDs) and developers (who need actionable tasks). The AI parsing step converts natural language requirements into implementation-ready units.

Installation

Global CLI

npm install -g task-master-ai

Initialize in a Project

cd /path/to/your/project
task-master init

This creates:

.task-master/
  config.json        # Settings and model preferences
  tasks/
    tasks.json       # The task database
  prd/               # Drop PRDs here for parsing

MCP Integration

Add to your .claude/settings.json:

{
  "mcpServers": {
    "task-master": {
      "command": "task-master",
      "args": ["mcp-server"],
      "cwd": "/path/to/your/project"
    }
  }
}

Claude Code can now call task-master tools directly:

  • get_next_task — returns the highest-priority unblocked task
  • complete_task — marks a task done and unblocks dependents
  • add_task — creates a new task mid-session
  • get_task_tree — returns the full dependency graph

Key Features

  1. PRD Parsing — Feed it a requirements document, get back a structured task list with dependencies automatically inferred.

  2. Dependency Graph — Tasks form a DAG. Blocked tasks stay off the active queue until their prerequisites complete.

  3. AI Complexity Estimation — Each task gets a 1-5 complexity score based on the requirements. Use this to estimate session length.

  4. MCP Server Mode — Claude Code queries and updates tasks through tool calls, keeping the agent aligned with the plan.

  5. Multi-Session Persistence — The task database lives in .task-master/tasks/tasks.json. Start a new Claude Code session and it picks up where you left off.

  6. Task Decomposition — Break complex tasks into subtasks with a single command. The AI suggests logical decomposition points.

For more on this topic, see Convert a PRD to Tasks with Task Master.

  1. Progress Dashboardtask-master status prints a visual tree with completion percentages and blocked-task highlights.

  2. Export Formats — Generate Markdown checklists, GitHub Issues, or Linear tickets from the task database.

Real Usage Example

Parse a PRD

# Drop your PRD in the prd directory
cp ~/docs/user-auth-prd.md .task-master/prd/
# Parse it
task-master parse .task-master/prd/user-auth-prd.md

Output:

Parsed 12 tasks from user-auth-prd.md
Task 1: Set up authentication database schema (complexity: 2)
Task 2: Implement password hashing service (complexity: 2)
  └── depends on: Task 1
Task 3: Create login endpoint (complexity: 3)
  └── depends on: Task 1, Task 2
Task 4: Create registration endpoint (complexity: 3)
  └── depends on: Task 1, Task 2
...

Use with Claude Code via MCP

Once the MCP server is running, Claude Code sessions look like this:

You: Work on the next task from task-master
Claude Code: [calls get_next_task]
The next available task is Task 1: "Set up authentication database schema"
Complexity: 2/5
Notes: Create users table with id, email, password_hash, created_at,
       updated_at. Add unique constraint on email. Use project's
       existing migration tool.
I'll implement this now.
[creates migration file, runs it, verifies schema]
[calls complete_task with task_id=1]
Task 1 complete. This unblocked Tasks 2, 3, and 4.
Next available: Task 2 "Implement password hashing service"
Want me to continue?

Check Progress

$ task-master status
User Auth PRD — 3/12 tasks complete (25%)
✓ Task 1: Set up authentication database schema
✓ Task 2: Implement password hashing service
✓ Task 3: Create login endpoint
○ Task 4: Create registration endpoint (ready)
○ Task 5: Add email verification (ready)
◌ Task 6: Implement password reset (blocked by Task 5)
...

When To Use

  • Multi-session projects — any feature that takes more than one Claude Code session to complete
  • Team coordination — multiple developers working on the same feature, each picking up unblocked tasks
  • PRD-to-code workflows — product managers hand off PRDs, developers use Task Master to parse and execute
  • Complex refactors — break a large refactor into dependency-ordered steps so nothing breaks mid-way
  • Sprint planning — use complexity scores to estimate how many tasks fit in a sprint

When NOT To Use

  • Quick one-off tasks — parsing a PRD for a 5-minute fix is overkill
  • Highly exploratory work — if you don’t know what to build yet, a task list is premature
  • Solo scripts and utilities — the overhead of init + parse + MCP setup doesn’t pay off for small projects
  • Already using a project management tool — if your team lives in Linear or Jira, Task Master may duplicate your workflow

FAQ

Does it work with models other than Claude?

The parsing step can use any supported model (GPT-4, Claude, Gemini). Configure the model in .task-master/config.json. The MCP server works exclusively with Claude Code.

Can I manually edit tasks?

Yes. The tasks.json file is human-readable JSON. Edit it directly or use task-master edit <task-id> for guided editing.

How does it handle scope changes?

Use task-master add to insert new tasks with dependencies. The graph recalculates automatically. You can also re-parse an updated PRD and merge changes.

What’s the token cost of the MCP integration?

Each get_next_task call adds ~200 tokens to the context. complete_task is ~50 tokens. For a 12-task project, the total MCP overhead is under 3K tokens — negligible.

Our Take

9/10. Task Master solves the single biggest problem with long Claude Code sessions: losing track of where you are. The PRD parsing is impressive, the MCP integration is seamless, and the dependency graph prevents the agent from working on tasks out of order. The only weakness is the initial setup friction — init, parse, and MCP config takes 5 minutes. Worth it for any project spanning multiple sessions.

Configure it → Build your MCP config with our MCP Config Generator.

Quick setup → Launch your project with our Project Starter.

See Also

Try it: Estimate your monthly spend with our Cost Calculator.