A shared task list for OpenCode
By Jake Marsh, who builds Taskhold. Updated 2026-10-26. Facts about other tools checked 2026-10-26. 5 min read.
OpenCode connects to remote MCP servers from its config file. With Taskhold connected, OpenCode works from the same list as your other agents: you add tasks in the web app, OpenCode plans the steps, reports progress you watch on the live board, asks you when it's blocked and closes the task with a summary. The MCP config generator writes the entry, and the quickstart shows the first run.
Setup
- Start the 7-day trial and open Settings. Click to make a setup URL. It looks like https://taskhold.com/setup/<token>.md and expires after 3 days.
- Paste it into your agent with the words "set this up". The agent fetches the markdown, which contains a fresh API key, the config for its own client and the task workflow snippet.
- The agent adds the server, then calls taskhold_list to check it works. Settings shows "Connected" when the first call arrives.
By hand, add a remote server to opencode.json in the project root, or to ~/.config/opencode/opencode.json for every project:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"taskhold": {
"type": "remote",
"url": "https://taskhold.com/api/mcp",
"oauth": false,
"headers": { "Authorization": "Bearer <your atd_sk_ key>" }
}
}
}To keep the key out of a file you commit, OpenCode substitutes environment variables in its config. Put the key in TASKHOLD_API_KEY and reference it:
"headers": { "Authorization": "Bearer {env:TASKHOLD_API_KEY}" }AGENTS.md snippet
OpenCode reads AGENTS.md for project instructions, and /init writes one if the repo has none. Add the workflow there:
## Tasks (Taskhold)
The person and I share a task list through the taskhold MCP tools. They watch a live board while I work.
- Session start: taskhold_get_current, then taskhold_updates for replies. Nothing in progress? taskhold_list status:todo and take the highest priority.
- taskhold_start before working on a task (agent: "<client> in <repo>").
- More than a couple of steps: taskhold_plan, then taskhold_start and taskhold_complete each step.
- taskhold_progress at milestones (N of M, or a percent) with a short message. Every few minutes at most.
- Need a decision: taskhold_block with one specific question, then check taskhold_updates.
- Done: taskhold_complete with what changed and how I checked it.
- A TODO or bug I'm not fixing now: taskhold_create (or taskhold_create_from_todo with file and line).What OpenCode can do with it
- taskhold_get_current: what is already in progress, with its steps and the next one, so a new session picks up where the last one stopped.
- taskhold_list and taskhold_start: take the highest-priority todo and mark it in progress (with an agent label such as "Codex in api"), so a second agent skips it.
- taskhold_plan: break the task into ordered steps. You see a checklist and a progress bar split by step.
- taskhold_progress: report percent, or N of M, plus what it's doing now. The live board updates as it happens.
- taskhold_block: stop with a question. The task jumps to the top of the live board, where you reply or reply and unblock.
- taskhold_updates: read what you changed since it last looked, including your reply, using a cursor.
- taskhold_complete: finish a step or the task with a short summary. Completing a step returns the next one.
- taskhold_create and taskhold_create_from_todo: file new tasks, including a TODO with its file path and line number.
Watch OpenCode next to your other agents
OpenCode reports to the same live board as Claude Code, Codex or Cursor, under its own label, so you can leave the terminal and still know where it is. For each task you see:
- A card per task an agent is working on: which agent, how long it has run, an estimate of time left once there is enough to go on, and the message from its last progress report.
- A progress bar split into one segment per step, so you see which step is running and which one is blocked.
- Blocked tasks at the top under Needs you, with the agent's question and a box to reply, or reply and unblock.
- A status dot: Live if the agent reported in the last two minutes, Quiet after that, and No word, with how long ago, after fifteen minutes. A stalled agent stands out without you reading its terminal.
- Optional desktop notifications when an agent gets blocked or finishes, and a count in the tab title while you're in another tab.
Check the connection, or switch the tools off
- opencode mcp list lists the MCP servers OpenCode has configured. If taskhold is there but calls fail, a 401 means a wrong or revoked key and a 402 means the trial or subscription ended.
- OpenCode registers each MCP tool with the server name as a prefix, so "taskhold_*": false under tools hides every Taskhold tool without removing the server.
- enabled: false in the taskhold entry stops OpenCode connecting at startup, and keeps the entry for later.
What it sends, and how to disconnect
Your agent sends task titles, steps, progress and messages to Taskhold. Taskhold never sends code or commands to your machine; your agent reads your replies only when it asks for them.
To cut an agent off, open Settings > API keys and click Revoke on its key. The agent's next call fails with 401; remove the Taskhold server from the agent's MCP config to stop it trying. Each machine has its own key, so revoking one leaves the others working.
See how far along your coding agents are.
$12/month or $120/year after the trial. Card up front. Cancel before day 7 and you pay nothing. Every agent you run is included.
Questions
- Does OpenCode need OAuth to connect to Taskhold?
- No. Taskhold uses an API key in the Authorization header. Setting oauth to false tells OpenCode not to try OAuth for this server, which is what its docs suggest for servers that use API keys.
- Can OpenCode and Claude Code share one list?
- Yes. Connect both, ideally with one setup URL each so every client has its own key. A task one agent has started shows as in progress, so the other takes the next one.
- What does Taskhold cost?
- $12 a month or $120 a year per person, every agent included, with a 7-day trial that starts with a card. Cancel before the trial ends and nothing is charged.
Sources
- OpenCode docs: MCP servers, checked 2026-10-26
- OpenCode docs: config (variables), checked 2026-10-26
- OpenCode docs: rules (AGENTS.md), checked 2026-10-26
Related
Updated 2026-10-26. Something wrong or out of date? Email hello@greatwork.company.