added 2026-09-28idempotent
Move an issue to another status of its project (needs edit access). status is a key or name from list_statuses; todo, in_progress, review and done (and aliases like open, wip, closed) work in every project. Optional expect {status}: the status you last read; if the issue is elsewhere now nothing is written and the answer says where it is (re-read, decide again). A project with a done gate (update_project) may refuse the move to a done status while its acceptance criteria / definition of done items are open: the answer lists them (check_criteria, or confirm_open_criteria).
confirm_open_criteriaboolean | string[]optionalConfirm open acceptance criteria / definition of done items when the move is to a done status and the project's done_gate is warn: the ids of the open items (the refusal lists them; they must be all of the ones open now), or true for people (agents must send the ids). Under done_gate block nothing confirms it: check the items first.expectobjectoptionalThe status you last read. If the issue is in another status now, nothing is written and the answer names the current one.keystringrequiredIssue keystatusstringrequiredNew status: a key or name from list_statuses
Returns
changedbooleanrequiredFalse when the issue was already in that statusfromstringrequiredStatus key beforefrom_namestringrequiredkeystringrequiredparent_readyarrayoptionalstatusstringrequiredStatus key nowstatus_namestringrequired
- 2026-10-01 — status is the key or name of one of the project's own statuses (see list_statuses), not a fixed list; a category word such as done or closed picks the first status of that category.
- 2026-10-03 — New optional expect {status}: the status you last read. If the issue is in another status now nothing is written and the answer names the current one; re-read and decide again.
- 2026-10-04 — The answer gains parent_ready [{key,title,type,children,status}]: when the call moved the last open child of a story or epic to done, that parent is listed (suggested done status in status). Nothing is changed for it.
- 2026-10-03 — New optional confirm_open_criteria: with done_gate warn, a move to a done status with open AC / DoD items is refused, listing them, until you send their ids (people may send true). done_gate block always refuses.
- 2026-10-03 — Also answers structuredContent (see outputSchema); a failed call adds structuredContent.error. Text unchanged. Details: /docs/mcp, "Structured results and errors".
- 2026-10-04 — Claude Code 2.1.288+ (clientInfo claude-code): the text of a successful answer is itself up to 512 bytes, else "Result in structuredContent (N bytes)."; structuredContent and errors are unchanged. See /docs/mcp.