claude-task-master: a task manager that lives inside your AI editor
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others.
At a glance
- What is it?
- Taskmaster turns a PRD into a dependency-aware task list and exposes it to Cursor, Claude Code and other AI chats over MCP. It is useful if you already pay for a model API and want the agent to stop losing the plan, and awkward if you want a hosted board or a zero-config install.
- Who is it for?
- Adopt claude-task-master if you already work inside Cursor, Claude Code or another MCP-capable editor, you accept that at least one model provider key must sit in your project, and you want task state to live in files you can diff. Do not adopt it if you need a hosted board with permissions, or if you cannot put an API key in a local config file.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 141 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem claude-task-master solves for AI-driven development
Long agent sessions drift. You describe a feature, the model produces a plan, and by the third or fourth turn the plan is gone from context, partly rewritten, or silently contradicted. Taskmaster's answer is to move the plan out of the conversation and into a task store that the agent can read back on demand. The README describes it as "a task management system for AI-driven development, designed to work seamlessly with any AI chat", and the package description is blunter: it exists so that AI-driven development "doesn't overwhelm and confuse Cursor".
The target user is a developer who already runs an AI coding assistant and wants it to hold a multi-step plan across sessions. That is a narrower audience than the tag list suggests. If you write single-file prompts and finish in one turn, the task store is overhead. If your work spans a schema change, an API change and a migration, having the ordering written down somewhere the model can query is the difference between a plan and a wish.
How the task store, MCP server and CLI fit together
The repository is a monorepo: apps/, packages/, mcp-server/, src/, bin/ and a .taskmaster/ directory that holds the task data it manages. Two binaries are declared in package.json: task-master points at dist/task-master.js, and task-master-mcp and task-master-ai both point at dist/mcp-server.js. So the same package ships a command line tool and a Model Context Protocol server.
The CLI is where tasks are created, tagged and ordered. The MCP server is how the editor reaches them. When you register the server, the AI chat gains tools for reading and updating tasks rather than you pasting a plan into the prompt each time. The README links a separate MCP Tools Reference and a CLI Commands Reference, which suggests the two surfaces overlap but are documented apart.
Model access is configured separately from task storage. The README states that Taskmaster uses AI across several commands and that those require a separate API key, with three model roles: main, research and fallback. Research is optional but the README calls it highly recommended. The fallback role exists for when the main or research model fails, which is a realistic concession: provider outages and rate limits are normal, and a task tool that dies mid-generation is worse than no tool.
Installing task-master-ai and running it from Cursor or Claude Code
The package is published on npm as task-master-ai. The README gives a one-click install for Cursor 1.0+ through a deeplink, and after clicking it you still have to replace the placeholder keys the link writes into the config. For Claude Code the README gives a single command.
claude mcp add taskmaster-ai -- npx -y task-master-aiThat registers the MCP server under the name taskmaster-ai and runs it through npx with the -y flag, so no separate global install is needed. After this, the README says you must add your API keys in two places: the root .env of your project, and the env section of your mcp config for taskmaster-ai.
The keys themselves are listed in .env.example. At least one provider is required, and the file ships entries for ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEY, XAI_API_KEY, OPENROUTER_API_KEY and others.
ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY_HERE
PERPLEXITY_API_KEY=YOUR_PERPLEXITY_KEY_HERECopy .env.example to .env and fill in the provider you actually use. The README notes that you can run without an API key only if you use Claude Code or the Codex CLI with OAuth, since those authenticate through a subscription instead. If you are behind a corporate proxy, .env.example includes TASKMASTER_ENABLE_PROXY, which is false by default and, when enabled, uses the http_proxy and https_proxy environment variables.
Where claude-task-master gets in the way
The dependency on an external model provider is the first real constraint. Every command that uses AI needs a working key, and the README warns that whichever model you use, its provider API key must be present in either mcp.json or .env. That means a project file now carries a credential, or a reference to one, and anyone who clones the repository needs their own. This is a local-development tool that assumes you are comfortable with that arrangement.
The second constraint is editor support. The README's quick-start table maps config paths per editor, and the docs have a Supported Editors page. Editors outside that list are not covered by the material, and the MCP server is the primary integration path, so a chat client without MCP support is out of scope. The CLI still works standalone, but you lose the point of the tool, which is the agent reading tasks without being told.
The third is that the README does not document rollback. Version control is the obvious mitigation, since the task data lives in files under .taskmaster/, but the README does not describe an undo path for a bad generation, and it does not describe what happens to existing tasks when the task structure changes between releases.
How it differs from a board tool or a plain TODO file
The closest alternative for many teams is a conventional tracker such as Linear or Jira, and the difference is not features, it is location. A tracker is a separate application with its own UI, accounts and sync, and the AI assistant has to be told about it through an integration or by pasting text. Taskmaster inverts that: the task list lives in the repository next to the code, and the AI assistant is the primary reader. Nothing about it replaces a tracker for humans who need assignment, notifications and reporting.
The other alternative is a plain markdown TODO file. That is genuinely simpler and needs no key. What it lacks is structure the model can act on: the README documents task dependencies and tags or workstreams as first-class concepts, and a flat checklist has neither. If your plan is five linear steps, a markdown file is the better tool. Dependencies and workstreams only pay off when the plan branches.
Licence, maintenance and what an upgrade costs
The repository is not archived, and the last push was on 2026-04-28. The most recent listed release is task-master-ai@0.43.1 on 2026-03-31, preceded by 0.43.0 in February 2026 and 0.42.0 in January 2026. Releases are frequent enough that the changelog is worth reading before you pin a version, and the repository uses changesets, so version bumps are generated from per-change files rather than hand-written.
The licence field reports NOASSERTION, and the README badge says "MIT with Commons Clause". Those two statements do not agree, so treat the licence as something to read in the LICENSE file yourself rather than infer. A Commons Clause variant typically restricts selling the software, which matters if you plan to bundle it into a product. This is a description of what the files say, not legal advice; if the distinction affects your business, ask someone qualified.
Upgrade cost is mostly about the .taskmaster/ directory. Because task state is stored there and the tool is early at 0.x, a structural change between releases can leave older task files in an unexpected shape. Pinning a version and reading the changelog entry before bumping is cheaper than discovering a mismatch during a long task run.
Editorial conclusion
Adopt claude-task-master if you already work inside Cursor, Claude Code or another MCP-capable editor, you accept that at least one model provider key must sit in your project, and you want task state to live in files you can diff. Do not adopt it if you need a hosted board with permissions, or if you cannot put an API key in a local config file. Before committing, verify three things: that your editor reads the MCP config path from the supported-editors table, that the provider you intend to use is listed in .env.example, and that the task files it writes into .taskmaster/ are ones you are willing to commit or ignore.
Frequently asked questions
What is the point of Taskmaster?
It keeps a structured task list for AI-driven development so the plan survives across chat turns instead of being re-explained each time. The README describes it as a task management system for AI-driven development that works with any AI chat, and the package description says it exists so AI-driven development does not overwhelm and confuse Cursor.
How does Taskmaster work?
The package ships two binaries: a CLI at dist/task-master.js and an MCP server at dist/mcp-server.js. Tasks are created and ordered through the CLI, and the MCP server exposes them to your editor so the AI chat can read and update them directly.
Is claude-task-master free?
The package itself is published on npm as task-master-ai, but it uses AI across several commands and those require a separate provider API key. The README says at least one key is required unless you use Claude Code or the Codex CLI with OAuth, which authenticate through a subscription instead.
How do I use claude-task-master with Cursor?
The README provides a one-click deeplink for Cursor 1.0+ that installs the MCP server with placeholder keys, and notes you must then replace those placeholders with your real API keys. You also need to add the keys to the root .env of your project.
What is claude-task-master?
It is a task management system for AI-driven development, distributed on npm as task-master-ai, that works with AI chats and is designed to pair with Cursor. It provides a CLI and an MCP server so an editor-based assistant can read and update a shared task list.
Community notes