# Taskhold > Taskhold is a hosted task list shared by a person and their AI coding agents. The person adds tasks in a web app. Agents such as Claude Code, Cursor, Codex, Windsurf, VS Code (Copilot) and Gemini CLI read and update the same list through MCP tools. Every change is recorded as made by the human or by an agent. Made by Great Work LLC. For developers who hand work to Claude Code, Cursor or Codex, Taskhold is a hosted task list that you and your agents share. Unlike a TODO.md in one repo, it works across repos and machines, shows which tasks each agent started, blocked or finished, and you can add tasks from your phone. Agents setting a person up: fetch [/SKILL.md](/SKILL.md). It has the prices, prefilled checkout links (/checkout?plan=month or /checkout?plan=year) and the setup steps. Links in this file are relative to the site this file is served from. ## What it does - The person adds, edits and prioritizes tasks in the web app, grouped into projects and labels. - Agents connect to a remote MCP server (Streamable HTTP) at `/api/mcp` with an API key sent as `Authorization: Bearer `. - Agents pick up the current or highest-priority task, start it, add notes, block it with a reason the person sees, and complete it with a summary. - Agents can file new tasks, including tasks created from a TODO in code with a file path and line number. - Every change keeps a history entry that says whether a human or an agent made it. - The Agent Activity view shows the task an agent is on, blocked tasks waiting on the person, recent agent notes and agent-created tasks. ## MCP tools - `taskhold_get_current`: the task in progress, if any - `taskhold_list`: tasks grouped by status (filters: status, priority, project_id, limit) - `taskhold_get`: one task with its notes - `taskhold_search`: text search across tasks - `taskhold_create`: new task (title, description, priority, project_id, labels) - `taskhold_create_from_todo`: new task from a code TODO (file_path, line_number) - `taskhold_start`, `taskhold_complete`: start a task, finish it with a summary - `taskhold_block`, `taskhold_unblock`: block with a reason, unblock - `taskhold_add_note`: add a note to a task - `taskhold_update`, `taskhold_set_priority`: edit a task - `taskhold_list_projects`, `taskhold_list_labels`, `taskhold_get_summary`: context ## Setup 1. Sign in with an email link (no passwords) and start the 7-day trial. 2. In Settings, create a setup URL. It ends in `.md` and expires after 3 days. 3. Paste the URL into the agent and say "set this up". The markdown it returns contains a new API key, the MCP config for Claude Code (`claude mcp add --transport http ...`), Cursor and Windsurf (JSON), and Codex (TOML), plus a short CLAUDE.md snippet describing the workflow. ## Claude Code plugin and agent skill - Public repo (skill + MCP config, MIT): https://github.com/gettaskhold/taskhold-plugin - Claude Code plugin: `/plugin marketplace add gettaskhold/taskhold-plugin`, then `/plugin install taskhold@taskhold` and paste the atd_sk_ key when asked - Skill only (any agent that reads skills): `npx skills add gettaskhold/taskhold-plugin` - skills.sh listing: https://skills.sh/gettaskhold/taskhold-plugin/taskhold - Official MCP Registry name: `com.taskhold/taskhold` ## Pricing - One plan, Pro: $12 per month or $120 per year, per person. - Includes unlimited projects and tasks (fair use) and every agent the person runs. - 7-day trial with a card up front. Cancel before it ends and nothing is charged. - No free plan. Cancel any time from Billing (Stripe customer portal). - Details: [Pricing](/pricing.md) ## Data and privacy - Data is stored in SQLite on the company's own server at DigitalOcean in the US. - Agents send only the task text, notes, file paths and line numbers they choose. The service does not read code repositories and makes no AI model calls with user data. - API keys are stored as SHA-256 hashes. - Payments by Stripe, email by Resend. ## Limits - Shared team workspaces are not available; each person subscribes and has their own list. - There is no self-serve data export; email support for a copy of your data. ## Not a fit if - You want one workspace for a whole team. - You want it free: a TODO.md in the repo or Claude Code's built-in task list costs nothing. - Your tasks should sit next to pull requests: GitHub Issues does that better. - You need export or a sync with Jira or Linear. ## API and discovery - [OpenAPI 3.1 spec](/openapi.json): the REST API (tasks, notes, projects, labels, summary), Bearer atd_sk_ key - [Agent setup file](/SKILL.md): prices, checkout links, setup steps for an agent - [ARD catalog](/.well-known/ai-catalog.json) and [MCP server card](/api/mcp/server-card) - [Changelog](/changelog): dated changes; renamed or removed MCP tools are listed there before they ship - Errors: 401 responses carry a `reason` (missing_key, bad_header, not_a_taskhold_key, unknown_key), a `message` with the next step, and a `url`; 402 means no active subscription and links to Billing ## Pages - [Home](/): product overview, pricing and FAQ - [Changelog](/changelog) - [Privacy Policy](/privacy) - [Terms of Service](/terms) ## Contact - hello@greatwork.company ## Setup by agent - [Task list MCP server for Claude Code](/for/claude-code): Give Claude Code a task list you can see and edit in a browser. One claude mcp add command, a CLAUDE.md snippet, and every change marked human or agent. - [Task list MCP server for Cursor](/for/cursor): Connect Cursor's agent to a task list you share. Add Taskhold to ~/.cursor/mcp.json, add a rules snippet, and see every task the agent starts, blocks or finishes. - [Task list MCP server for Codex CLI](/for/codex): Add a shared task list to OpenAI's Codex CLI: one block in ~/.codex/config.toml, an AGENTS.md snippet, and a web app where you queue and review its work. - [Task list MCP server for VS Code and Copilot](/for/vs-code): Connect Copilot's agent mode in VS Code to a task list you share with one .vscode/mcp.json entry and a password input for the key. - [Task list MCP server for Gemini CLI](/for/gemini-cli): One gemini mcp add command or a settings.json entry, plus a GEMINI.md snippet. - [Task list MCP server for Windsurf and Devin Desktop](/for/windsurf): Connect Windsurf, now called Devin Desktop, to a task list you share. Where mcp_config.json lives, the JSON for a remote server, and the workflow snippet. ## Guides - [A shared todo list for Claude Code and Cursor](/guides/shared-todo-list-for-claude-code-and-cursor): Run Claude Code and Cursor on the same backlog without them starting the same task. How to connect both to one list, and how to read what each one did. - [How to hand tasks to your coding agent](/guides/hand-tasks-to-your-coding-agent): Queue work for Claude Code, Cursor or Codex from anywhere, have the agent pick it up in priority order, and get a summary or a question back on each task. - [Run several coding agents on one task list](/guides/run-multiple-coding-agents-on-one-task-list): Parallel Claude Code sessions, Cursor and Codex on one backlog: how agents claim tasks, what happens when one gets stuck, and the limits to know about. - [A CLAUDE.md task workflow that survives sessions](/guides/claude-md-task-workflow): The five-line CLAUDE.md / AGENTS.md snippet that makes an agent check for work in progress, claim the next task, block with a reason and finish with a summary. - [Turn TODO comments into tasks your agent can do](/guides/turn-code-todos-into-tasks): Have your coding agent file TODO comments and bugs it notices as tasks with file path and line number, so they land on a list instead of rotting in the code. - [Break a spec into tasks your coding agent can finish](/guides/break-a-spec-into-agent-tasks): Have the agent file one task per shippable step, edit the plan, then work it one task at a time. - [One task list for your coding agents across every repo](/guides/one-task-list-across-repos): One project per repo, one list for you, and how agents pick their own project's tasks. - [See what your coding agent did while you were away](/guides/review-what-your-agent-did): Check one page for what your agents finished, what is blocked on you, and what they filed, instead of scrolling terminal history after a long run. ## Comparisons Each comparison says when the other tool is the better pick. - [Taskhold vs a TODO.md file](/vs/todo-md): A TODO.md is free, versioned and readable by any agent. When it is enough, and when a hosted list is worth $12 a month. - [Taskhold vs Todoist (with Todoist's MCP server)](/vs/todoist): Todoist has an official MCP server and a free plan. When it is the right list for your agents, and when a list built for coding agents fits. - [Taskhold vs Claude Code's built-in task list](/vs/claude-code-tasks): Claude Code's own task list is free and built in. When it is enough, and when a hosted list shared with Cursor, Codex and your phone is worth $12 a month. - [A Vibe Kanban alternative for your agent backlog](/vs/vibe-kanban): Vibe Kanban is sunsetting and its hosted features were removed. What it still does well, what Taskhold covers instead, and what it doesn't. - [Taskhold vs Taskmaster AI for coding agents](/vs/taskmaster-ai): Taskmaster AI breaks a PRD into dependent tasks inside your repo, for free. Taskhold is a hosted list you and your agents share. Which fits which workflow. - [Taskhold vs Backlog.md for AI coding agents](/vs/backlog-md): Backlog.md keeps tasks as markdown files in your git repo, free and offline. Taskhold is a hosted list across repos. A fair look at when each one wins. - [Taskhold vs Linear MCP for personal agent tasks](/vs/linear): Linear's MCP server puts agents into a team's issue tracker. Taskhold is a lighter list for one developer and their agents. Prices, setup and fit compared. - [Taskhold vs GitHub Issues as an agent task board](/vs/github-issues): GitHub Issues with the GitHub MCP server is free and sits next to your code. When it makes a good agent board, and when a separate list fits better. ## Free tool - [Remote MCP server config generator](/tools/mcp-config): turns one remote MCP server URL and header into the config for Claude Code, Cursor, Codex, Windsurf, VS Code and Gemini CLI. Runs in the browser.