Update order status
Set an order to pending, processing, on-hold, completed, cancelled, refunded or failed.
MCP tool woocommerce_write → update_order_status
Changes the status of one order. Allowed values are pending, processing, on-hold, completed, cancelled, refunded and failed. WooCommerce sends the customer an email when an order is completed, and Cancelled returns line-item stock when inventory management is on. Setting Cancelled or Refunded does not refund the customer; use create_refund for that. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| order_id integer required | integer | Order ID from list_orders. |
| status enum required | enum | pending, processing, on-hold, completed, cancelled, refunded or failed. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "woocommerce_write",
"arguments": {
"operation": "update_order_status",
"arguments": {
"order_id": 1044,
"status": "completed"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"order_id": 1044,
"previous_status": "processing",
"status": "completed",
"date_modified": "2026-10-15T08:02:00Z"
},
"isError": false
}