home-assistant/core · error · HomeAssistantError

todo_rename_item_failed

Error message

todo_rename_item_failed

What it means

Raised by the rename branch of async_update_todo_item in the Bring To-do entity. When the item is not found in Bring's current state, the integration performs a batch ADD with a brand-new UUID under the new summary; if that batch_update_list call raises BringRequestException, this HomeAssistantError (todo_rename_item_failed) is raised with the new name as placeholder.

Source

Thrown at homeassistant/components/bring/todo.py:208

                        BringItem(
                            itemId=current_item.itemId,
                            spec=item.description or "",
                            uuid=item.uid,
                            operation=BringItemOperation.REMOVE,
                        ),
                        BringItem(
                            itemId=item.summary or "",
                            spec=item.description or "",
                            uuid=str(uuid.uuid4()),
                            operation=BringItemOperation.ADD
                            if item.status == TodoItemStatus.NEEDS_ACTION
                            else BringItemOperation.COMPLETE,
                        ),
                    ],
                )

            except BringRequestException as e:
                raise HomeAssistantError(
                    translation_domain=DOMAIN,
                    translation_key="todo_rename_item_failed",
                    translation_placeholders={"name": item.summary or ""},
                ) from e

        await self.coordinator.async_refresh()

    @override
    async def async_delete_todo_items(self, uids: list[str]) -> None:
        """Delete an item from the To-do list."""

        try:
            await self.coordinator.bring.batch_update_list(
                self._list_uuid,
                [
                    BringItem(
                        itemId=uid,
                        spec="",

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Reload the integration (or force a list refresh) and retry the rename on the current item.
  2. Re-authenticate the Bring integration if requests consistently fail.
  3. If the source item was deleted remotely, create it fresh instead of renaming.
  4. Inspect the chained BringRequestException in logs for the exact API error.
Defensive patterns

Strategy: retry

Try / catch

try:
    await todo_entity.async_update_todo_item(item)
except HomeAssistantError as err:
    if err.translation_key == "todo_rename_item_failed":
        # recreate instead of rename when the source item vanished remotely
        await todo_entity.async_create_todo_item(TodoItem(summary=item.summary, uid=str(uuid4())))
    else:
        raise

Prevention

When it happens

Trigger: Renaming a To-do item whose original no longer exists in Bring (so it must be re-added) while the batch request fails: network error, invalid session, API rejecting the new itemId/spec pair.

Common situations: Renaming an item that was removed from the phone app, session expiry, renaming during a coordinator refresh race, special characters in the new name.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/2bb2095fdb3f1992. Report an issue: GitHub.