Set Todo Item
ha_set_todo_itemCreate, update, rename, complete, or reorder Home Assistant todo items, including due dates, descriptions, status, and list position.
Instructions
Create, update or reorder a todo item in Home Assistant.
Without item (create mode): creates a new item from summary.
With item (update mode): changes the fields given, and moves the item
when move_after is given, alone or together with other changes.
Home Assistant refuses a description or due date the list does not
support, and says which. The reply carries todo_item, the item as
Home Assistant stores it afterwards, uid included, or null with a
warning when it cannot be read back. With auto-backup on, an updated
item is backed up first; warnings names a backup that was not taken
because the item could not be read or the backup could not start.
EXAMPLES:
Add item: ha_set_todo_item("todo.tasks", summary="Pay bills", due_date="2024-12-31")
Complete item: ha_set_todo_item("todo.shopping_list", item="Buy milk", status="completed")
Rename item: ha_set_todo_item("todo.tasks", item="Old task", rename="New task name")
Move to top: ha_set_todo_item("todo.tasks", item="Pay bills", move_after="")
If a Claude Desktop user gets a 4-minute timeout with no result on this call, read the target back before repeating it, and tell them to wait a few seconds before clicking the manual-approve button, as clicking it too quickly is known to cause hangs in Claude Desktop. This workaround is specific to Claude Desktop.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"entity_id": "<entity_id>"
},
"name": "ha_set_todo_item"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| item | No | Existing item to update - can be the item UID or the exact item summary/name. | |
| rename | No | New name/summary for an existing item. | |
| status | No | Item status: 'completed' to mark done, 'needs_action' to mark incomplete. Update mode only: to add a done item, create it, then update it. | |
| summary | No | Item text/name. Ignored in update mode — use 'rename' to change the item name. | |
| due_date | No | Due date in YYYY-MM-DD format (e.g., '2024-12-25'). An empty string clears the due date on update. | |
| entity_id | Yes | Todo list entity ID (e.g., 'todo.shopping_list') | |
| move_after | No | Move the item directly below this item (UID or exact summary). An empty string moves it to the top of the list. | |
| description | No | Detailed description for the item. An empty string clears it on update. | |
| due_datetime | No | Due datetime in ISO format (e.g., '2024-12-25T14:00:00'). An empty string clears the due date on update. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||