home-assistant/core · error · BackupReaderWriterError
Addons and folders are not supported by core backup
Error message
Addons and folders are not supported by core backup
What it means
BackupReaderWriterError raised by the core backup reader/writer when a backup creation request includes addons, all addons, or folders. Plain Home Assistant Core (no Supervisor/add-ons) cannot back up add-ons or share folders, so these flags are only valid on supervised/HAOS-style backups handled elsewhere.
Source
Thrown at homeassistant/components/backup/manager.py:1735
self,
*,
agent_ids: list[str],
backup_name: str,
extra_metadata: dict[str, bool | str],
include_addons: list[str] | None,
include_all_addons: bool,
include_database: bool,
include_folders: list[Folder] | None,
include_homeassistant: bool,
on_progress: Callable[[CreateBackupEvent], None],
password: str | None,
) -> tuple[NewBackup, asyncio.Task[WrittenBackup]]:
"""Initiate generating a backup."""
date_str = dt_util.now().isoformat()
backup_id = _generate_backup_id(date_str, backup_name)
if include_addons or include_all_addons or include_folders:
raise BackupReaderWriterError(
"Addons and folders are not supported by core backup"
)
if not include_homeassistant:
raise BackupReaderWriterError("Home Assistant must be included in backup")
backup_task = self._hass.async_create_task(
self._async_create_backup(
agent_ids=agent_ids,
backup_id=backup_id,
backup_name=backup_name,
extra_metadata=extra_metadata,
include_database=include_database,
date_str=date_str,
on_progress=on_progress,
password=password,
),
name="backup_manager_create_backup",
eager_start=False, # To ensure the task is not started before we returnView on GitHub (pinned to 58a3fdb3ea)
Solutions
- Set include_addons/include_all_addons to False and include_folders to None/[] when running on HA Core
- If you need addon/folder backups, run Home Assistant OS or Supervised instead of Core
- Gate the request on what the instance supports (hass.components / supervisor availability) before sending it
Example fix
// before
{"include_addons": ["core_ssh"], "include_folders": ["media"], ...}
// after
{"include_addons": false, "include_folders": null, "include_homeassistant": true, ...} Defensive patterns
Strategy: validation
Validate before calling
# client-side: only add these flags on supervised installs
payload = {"include_homeassistant": True}
if "hassio" in hass.config.components:
payload["include_folders"] = folders
# never send include_addons/all_addons/folders to a Core install Try / catch
try:
await core_writer.async_create_backup(...)
except BackupReaderWriterError as err:
if "not supported by core backup" in str(err):
# strip addon/folder flags and rebuild the request
... Prevention
- Feature-detect the install type (Core vs Supervised) before building backup options
- Default addon/folder flags to off and only enable when supported
- Document which backup flags your client supports per install type
When it happens
Trigger: Calling the core backup create path (_async_init_create_backup / the core backup websocket API) with include_addons=True, include_all_addons=True, or a non-empty include_folders list.
Common situations: A client or script written for a Supervised install is run against HA Core in a container/venv; UI or API payload copied from a HAOS setup; an integration builds a create-backup request with addon flags unconditionally.
Related errors
- Home Assistant must be included in backup
- username_not_normalized
- You need at least Home Assistant version {backup_meta_versio
- Operation mode not supported
- Command not found. Exiting sequence
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/2f4e918f82cba5a0.
Report an issue: GitHub.