Problem statement
First-time HAOS users face two compounding problems at the worst possible moment — during initial setup:
-
Long wait before onboarding begins. After flashing HAOS on official hardware (Green, Yellow, Raspberry Pi), the system must download Home Assistant Core before onboarding can start. This download can take up to 20 minutes depending on connection speed, leaving users staring at a progress screen with no way to proceed.
-
Users with restrictive networking never reach onboarding at all. A meaningful portion of users run non-standard network configurations (split DNS, strict firewall rules, VLANs, captive portals, corporate proxies). For these users the Core download fails silently or times out, leaving them completely blocked — they cannot reach onboarding even once. This is a hard blocker with no obvious recovery path.
Both problems share the same root cause: onboarding is gated on a network download that happens after flashing, rather than shipping a usable system image from the start. This creates a poor first impression and generates significant support burden.
Community signals
Scope & Boundaries
In scope
- Bundling a pinned version of Home Assistant Core inside the HAOS image at build time
- Starting the onboarding experience immediately from the bundled version, with no download required
- Background pre-fetching of the latest Core version in parallel with onboarding
- Applying the pre-fetched update automatically after onboarding completes (via a "Wrapping up" transition screen)
- Surfacing a repair suggestion when the background update fetch fails, so users are informed they are running an older version and prompted to update when networking is fixed
Not in scope
- Fixing or diagnosing the underlying networking issues (DNS, VLAN, proxy, etc.)
- Changing the flashing or provisioning flow itself
- Providing a full offline / air-gapped update path beyond the initial onboarding window
Foreseen solution
Bundle a specific, known-good version of Home Assistant Core directly into the HAOS image at release time, eliminating the mandatory post-boot download. The flow becomes:
- Immediate onboarding — HAOS boots using the bundled Core. No download required. Users reach the onboarding UI in seconds.
- Background prefetch — In parallel, HAOS silently attempts to download the latest Core update.
- ✅ If it succeeds: hold the update, wait for onboarding to complete.
- ❌ If it fails: proceed anyway — the user has a working Home Assistant, just not the newest version.
- Post-onboarding "Wrapping up" screen — Once the user completes onboarding, a brief transition screen applies the pre-fetched update before landing on the main UI. If no update was fetched, this step is skipped entirely.
- Repair notification — If the prefetch failed, surface a repair card explaining that the system is running the version bundled with the image and that an update could not be downloaded automatically, with guidance on how to resolve the networking issue and retry.
This approach means virtually all users get a fast, successful onboarding. Users with networking issues get a working Home Assistant rather than a broken setup. And users on healthy networks still benefit from running an up-to-date version within minutes of completing onboarding.
Risks & open questions
- Image size increase — Bundling Core adds weight to the HAOS image. How much does this impact download and flash times for the image itself? Is the trade-off worth it? (Likely yes — flashing is typically done on a fast connection once, whereas the post-boot download happens on the user's live network.)
- Bundled version staleness — The bundled Core version will inevitably lag behind the latest release. How do we communicate this to users and ensure they understand they will be updated? What is an acceptable maximum lag?
- HAOS release cadence alignment — How often do we rebuild HAOS images to refresh the bundled Core version? Does this need to be tied to Core release cadence?
- Supervisor / update architecture — Does the current Supervisor update model support "hold and apply later"? If not, what is the scope of that change?
- Failure UX — What exactly does the repair card say? How do we avoid alarming non-technical users while still giving actionable information?
Appetite
Medium to large — this spans HAOS image build pipeline (Core bundling), Supervisor (background prefetch + deferred apply logic), and frontend (post-onboarding "Wrapping up" screen + repair card). Rough estimate: 2–3 focused cycles across those teams. The frontend surface area is relatively small; the heavier lifting is in HAOS build and Supervisor.
Execution issues
Decision log
Problem statement
First-time HAOS users face two compounding problems at the worst possible moment — during initial setup:
Long wait before onboarding begins. After flashing HAOS on official hardware (Green, Yellow, Raspberry Pi), the system must download Home Assistant Core before onboarding can start. This download can take up to 20 minutes depending on connection speed, leaving users staring at a progress screen with no way to proceed.
Users with restrictive networking never reach onboarding at all. A meaningful portion of users run non-standard network configurations (split DNS, strict firewall rules, VLANs, captive portals, corporate proxies). For these users the Core download fails silently or times out, leaving them completely blocked — they cannot reach onboarding even once. This is a hard blocker with no obvious recovery path.
Both problems share the same root cause: onboarding is gated on a network download that happens after flashing, rather than shipping a usable system image from the start. This creates a poor first impression and generates significant support burden.
Community signals
Scope & Boundaries
In scope
Not in scope
Foreseen solution
Bundle a specific, known-good version of Home Assistant Core directly into the HAOS image at release time, eliminating the mandatory post-boot download. The flow becomes:
This approach means virtually all users get a fast, successful onboarding. Users with networking issues get a working Home Assistant rather than a broken setup. And users on healthy networks still benefit from running an up-to-date version within minutes of completing onboarding.
Risks & open questions
Appetite
Medium to large — this spans HAOS image build pipeline (Core bundling), Supervisor (background prefetch + deferred apply logic), and frontend (post-onboarding "Wrapping up" screen + repair card). Rough estimate: 2–3 focused cycles across those teams. The frontend surface area is relatively small; the heavier lifting is in HAOS build and Supervisor.
Execution issues
Decision log