How Long Should a Home Assistant Core Update Take?
If you've ever kicked off a Home Assistant Core update and found yourself watching a progress bar — or worse, staring at a blank screen wondering if something went wrong — you're not alone. Update times vary widely depending on your hardware, your installation method, and what's actually included in the update. Here's what's actually happening under the hood, and what counts as normal.
What Happens During a Home Assistant Core Update
A Home Assistant Core update isn't just swapping out one file for another. The process typically involves:
- Pulling the new Core image or package files
- Stopping the running instance
- Installing updated Python dependencies
- Migrating the database schema if needed
- Restarting the Core service
Depending on your setup, this can also trigger additional processes like rebuilding the frontend, updating integration files, or applying configuration changes. Each of these steps adds time.
Typical Update Duration by Hardware ⏱️
There's no single answer, because hardware is the biggest variable. Here's a general sense of what users typically experience:
| Hardware Type | Typical Update Time |
|---|---|
| Raspberry Pi 5 / modern SBC | 2–5 minutes |
| Raspberry Pi 4 (4GB RAM) | 3–8 minutes |
| Raspberry Pi 3 / older SBCs | 8–20+ minutes |
| Generic x86/x64 mini PC | 1–4 minutes |
| NAS (e.g., Synology via Docker) | 3–10 minutes |
| Older or low-spec hardware | 15–30+ minutes |
These are general benchmarks based on commonly reported experiences — not guarantees. Your results depend on factors beyond just the chip.
Key Factors That Affect Update Speed
1. Installation Type
Home Assistant comes in several forms, and they update differently:
- Home Assistant OS (HAOS) — the full operating system image. Updates to Core within HAOS are generally smooth and managed through the Supervisor, but a full OS update takes longer than a Core-only update.
- Home Assistant Supervised — similar management but on your own OS. Slightly more variable.
- Home Assistant Container — a Docker-based install. Update speed depends on your host machine and how you pull images.
- Home Assistant Core (Python venv) — the most manual method. Update speed is tied directly to pip dependency resolution, which can be slow on low-RAM or slow-storage devices.
2. Storage Speed
This is often the factor people overlook. A Raspberry Pi running from a slow microSD card will update noticeably slower than one running from a USB SSD or NVMe drive. Read/write speeds during package installation matter significantly. If your system writes slowly, every dependency install compounds the delay.
3. Database Size and Schema Migrations
If a Core update includes changes to the recorder database schema (the component that logs your entity history), the update process has to migrate that database before restarting. On systems with large history databases — especially those tracking hundreds of entities over months — this migration alone can add several minutes to the process.
Keeping your recorder retention period reasonable (rather than storing years of history) helps keep this step fast.
4. Number of Custom Components (HACS Integrations)
While updating Core itself doesn't update HACS or custom components, a large number of installed integrations means more files to manage and more dependencies to check during startup. This can stretch post-update boot time even if the update itself was quick.
5. Internet Connection Speed
Core update files are downloaded from the internet (or from a local cache if you've configured one). A slow or intermittent connection can add significant time to the download phase, independently of your hardware.
What "Stuck" Actually Looks Like vs. Normal Slowness 🔍
A common anxiety point: the UI goes offline during the update, and there's no visible progress. This is expected behavior. Home Assistant shuts down to update, so the web interface becomes unavailable. You're not watching a frozen screen — you're watching a system that's temporarily offline.
Signs the update is genuinely stuck (rather than just slow):
- No activity in the system log after 20–30 minutes on modern hardware
- SSH access is available but the Core process hasn't restarted
- The update hangs consistently at the same point across multiple attempts
On older or slower hardware, what feels like "stuck" is often just slow dependency resolution. Giving it 30–45 minutes before troubleshooting is reasonable on low-spec machines.
Post-Update Startup Time Is Separate
Once the update installs, Home Assistant still needs to restart and load all integrations. On setups with many devices, automations, or cloud integrations, this startup phase can take 2–5 minutes on its own — sometimes longer. The frontend may load before all integrations are fully initialized, which can make some entities appear unavailable briefly.
This isn't a sign the update failed. It's normal initialization behavior.
The Variable That Matters Most Is Yours
Update duration is the sum of your hardware speed, storage type, database state, integration count, and connection quality — all layered together. Two users on "the same" Raspberry Pi 4 can have meaningfully different experiences if one is running from SD card with three years of history logged and 40 HACS integrations, while the other runs from SSD with default retention settings.
Understanding where your setup sits across those variables is what tells you whether your update time is normal, slow, or worth investigating further.