HACS: How to Install the Home Assistant Community Store
Hubs & Bridges

HACS: How to Install the Home Assistant Community Store

Install HACS correctly for your Home Assistant setup — HAOS, Supervised, Container or Core — plus fixes for the two most common install failures.

11 min read

Disclosure: Some links in this article are affiliate links. We may earn a commission on qualifying purchases at no extra cost to you.

Home Assistant ships with a huge library of built-in integrations, but the moment a specific brand or dashboard card isn't in that list, most users end up on the same page: HACS. The Home Assistant Community Store is the tool that turns "someone built an integration for this on GitHub" into "tap install, restart, done" — and since version 2.0 landed in August 2024, the install process depends entirely on which type of Home Assistant setup is running.

That distinction is exactly where a lot of guides go stale. Older tutorials still tell HAOS users to SSH in and run a wget script — a method that used to work but has been replaced by an official add-on. Following outdated instructions on the wrong install type is the single biggest reason people get stuck before HACS even shows up in their integrations list.

This guide starts with the one question that determines everything else — what installation type is this? — then walks through the correct method for each answer, the GitHub authorization step that trips up nearly everyone on their first pass, and the fixes for the two failures that generate the most support threads: HACS not appearing after install, and the January 2025 restart loop that some setups still hit today.

None of this requires new hardware. HACS is 100% software. If there isn't a Home Assistant instance running yet, a short note further down covers the hosting options — but installing HACS itself only takes a working Home Assistant instance, a GitHub account, and about ten minutes.

What You'll Need

  • A running Home Assistant instance on version 2024.4.1 or newer
  • A free GitHub account (HACS authenticates through GitHub's device flow)
  • A recent backup of the Home Assistant configuration, taken before installing anything
  • Ten to fifteen minutes, including one required restart
  • For HAOS/Supervised only: Advanced Mode enabled on the user profile, and either the Terminal & SSH add-on or the Samba/File editor add-on

Before You Start — Confirm Your Installation Type

HACS installs differently depending on how Home Assistant itself is running. Guessing wrong wastes time, so check this first: go to Settings > About and read the "Installation Type" line. It will read one of four values:

Installation Type What it means Correct HACS method
Home Assistant OS (HAOS) Runs on a dedicated device (Green, Yellow, Raspberry Pi image) with a Supervisor "Get HACS" add-on
Home Assistant Supervised Runs on generic Linux with a Supervisor layer "Get HACS" add-on
Home Assistant Container Runs as a Docker container without a Supervisor Official install script
Home Assistant Core Runs as a bare Python install, no Supervisor, no container Official install script

The Supervisor is the deciding factor. HAOS and Supervised installs have one, which means they get access to the add-on store — and that's where the official "Get HACS" add-on lives. Container and Core installs have no Supervisor, so the add-on store doesn't exist for them; they use a direct download script instead.

One more prerequisite regardless of installation type: HACS needs a free GitHub account. It authenticates through GitHub's device-code flow rather than a password, which matters because GitHub's unauthenticated API limit is 60 requests per hour — nowhere near enough for a store that checks dozens of repositories for updates. An authenticated GitHub account raises that ceiling to 5,000 requests per hour, which is what makes HACS usable day to day.

Take the backup before doing anything else. A single misbehaving custom integration installed later through HACS can prevent Home Assistant from starting, and a fresh backup turns that from a stressful troubleshooting session into a five-minute restore.

Step 1 — HAOS or Supervised: Install the "Get HACS" Add-on

This is the current official method for any installation with a Supervisor, and it replaces the older SSH/wget approach entirely.

  1. Go to Settings > Add-ons (relabelled Apps in some 2026 builds — same menu, same location) > Add-on Store.
  2. Open the three-dot menu in the top-right corner and select Repositories.
  3. Add the repository URL: https://github.com/hacs/addons
  4. Close the dialog and refresh the add-on store page. A new add-on called Get HACS will appear.
  5. Open it, click Install, then Start.
  6. Once it finishes running, open the add-on's logs to confirm it completed successfully, then restart Home Assistant from Settings > System.

After the restart, HACS itself will be available to add as an integration (covered in Step 3). The "Get HACS" add-on is a one-time installer — its only job is to place the HACS integration files where Home Assistant can load them. It is not something to keep running afterward, and it is not HACS itself; HACS is the integration it installs, not an add-on in its own right.

Step 2 — Container or Core: Run the Official Install Script

Without a Supervisor, there's no add-on store, so Container and Core installs use a direct script instead.

  1. Get shell access to the machine or container running Home Assistant.
  2. Run:
    wget -O - https://get.hacs.xyz | bash -
    
  3. Let the script finish — it downloads the HACS integration files directly into the custom_components folder of the active Home Assistant config directory.
  4. Restart Home Assistant.

This is the same method Container and Core users have relied on for years, and it remains fully supported and current. The only thing that has changed is that HAOS/Supervised users are no longer pointed here — they use the add-on from Step 1 instead.

Step 3 — Manual Install via Samba or File Editor (Fallback for Any Type)

If shell access isn't available — a common scenario on HAOS without the Terminal add-on enabled — HACS can be installed by copying files directly into the config folder.

  1. Install and open either the Samba share add-on or the File editor add-on from the add-on store.
  2. Download the latest HACS release archive from the HACS GitHub repository.
  3. Extract it, then copy the resulting hacs folder into /config/custom_components/hacs. If the custom_components folder doesn't exist yet, create it first — it sits at the same level as configuration.yaml.
  4. Restart Home Assistant.

This path works regardless of installation type, which makes it a useful fallback when the Terminal & SSH add-on isn't installed or Advanced Mode hasn't been enabled yet. Note that the Advanced SSH & Web Terminal add-on specifically needs Protection mode turned off if direct filesystem/Docker access is needed — that setting lives in the add-on's own configuration tab.

Step 4 — Add HACS as an Integration and Authorize with GitHub

Once any of the three methods above has finished and Home Assistant has restarted, HACS still needs to be added as an integration and linked to a GitHub account.

  1. Go to Settings > Devices & Services > Integrations.
  2. Click + Add Integration, search for HACS, and select it.
  3. Accept the terms shown in the setup dialog.
  4. A device code and a link to github.com/login/device will appear. Copy the code.
  5. Open the link in a browser, sign in to GitHub if needed, paste the code, and click Authorize.
  6. Return to Home Assistant — the integration setup should complete automatically within a few seconds.

The device code expires after a few minutes. This is the single most common place beginners get stuck: they copy the code, get distracted finding the GitHub link, and the code times out before they paste it. If the authorization step seems to hang or the code no longer works, cancel the integration dialog and start the "Add Integration" flow again to generate a fresh code — there's no need to reinstall anything.

Step 5 — Restart and Verify HACS Appears

HACS requires one more restart after the integration setup completes before it reliably shows up in the sidebar and the integrations list.

  1. Go to Settings > System > Restart and restart Home Assistant.
  2. After it comes back online, hard-refresh the browser — CTRL+SHIFT+R on Windows/Linux, CMD+SHIFT+R on Mac.
  3. HACS should now appear as a sidebar item and under Settings > Devices & Services.

That hard refresh matters more than it sounds like it should. The most frequent "HACS isn't showing up" report traces back to browser caching serving an old version of the frontend rather than any actual installation failure. If HACS still doesn't appear after a restart and a hard refresh, move to the troubleshooting section below before assuming the install failed.

Step 6 — Install a First Integration, Card, or Theme

With HACS live, using it is straightforward:

  1. Open HACS from the sidebar.
  2. Choose a category — Integrations, Frontend (dashboard cards and themes), or the other supported types.
  3. Search for the repository by name, open its page, and click Download.
  4. For custom integrations specifically, a restart is usually still required before the new integration can be configured; frontend elements (cards, themes) typically apply without one.

Before installing anything, it's worth a quick glance at the repository's GitHub page: star count and the date of the last commit are the two signals the community relies on most to judge whether a custom integration is actively maintained versus abandoned.

Common Mistakes to Avoid

  • Using the wrong method for the installation type. SSH/wget on a HAOS or Supervised install is the outdated path — the "Get HACS" add-on is correct for both. Always check Settings > About first.
  • Calling HACS an add-on. HACS is a custom integration. The "Get HACS" add-on is a separate, one-time installer whose only job is to place the HACS integration on disk — it is not HACS itself and doesn't need to keep running.
  • Skipping the restart(s). HACS setup involves two restart points — after the installer/script runs, and again after the GitHub integration setup completes. Skipping either is a common reason it fails to appear.
  • Not hard-refreshing the browser. A normal page reload can still serve a cached frontend. CTRL+SHIFT+R (Windows/Linux) or CMD+SHIFT+R (Mac) clears it.
  • Letting the GitHub device code expire. It's only valid for a few minutes. If it times out, cancel and restart the "Add Integration" flow for a fresh code rather than troubleshooting the old one.
  • Skipping the backup. A poorly maintained custom integration installed later through HACS can prevent Home Assistant from booting. A fresh backup turns that into a quick restore instead of a rebuild.
  • Assuming hardware is required. HACS installs on any existing Home Assistant instance — HAOS, Supervised, Container, or Core. No new hardware is needed to use it.

A Note on Hardware (Only If Home Assistant Isn't Running Yet)

None of the steps above need new hardware — HACS installs on whatever is already running Home Assistant. For anyone who doesn't have an instance up yet, the two most common starting points are an official plug-and-play hub like the Home Assistant Green, which comes with Home Assistant OS pre-installed and needs no flashing, or a DIY build on a Raspberry Pi 5, which costs less but requires separately sourcing a case, power supply, and storage. For anyone running Home Assistant on a Pi with a microSD card long-term, a high-endurance card such as the SanDisk High Endurance 128GB or the Samsung PRO Endurance 128GB holds up far better under 24/7 logging than a standard consumer card.

Frequently Asked Questions

Q: What is HACS and is it an official part of Home Assistant?

HACS is a free, open-source custom integration that adds a store for community-built integrations, dashboard cards, themes, and scripts that don't ship with core Home Assistant. It isn't bundled with Home Assistant by default and has to be installed separately, but it has been an Open Home Foundation collaboration partner since 2024 and is widely used across the community.

Q: Is HACS an add-on?

No. HACS is a custom integration that runs inside Home Assistant itself. The confusion comes from the "Get HACS" add-on, which is a separate, one-time installer used on HAOS/Supervised setups — its only job is to place the HACS integration files on disk. Once that's done, the add-on has served its purpose.

Q: Why doesn't HACS show up after installing it?

The two most common causes are a missing restart and a cached browser page. Restart Home Assistant from Settings > System, then hard-refresh the browser (CTRL+SHIFT+R on Windows/Linux, CMD+SHIFT+R on Mac) before checking again.

Q: The GitHub authorization step isn't working — what now?

The device code shown during setup expires after a few minutes. If it stops working, cancel the integration dialog and start "Add Integration" again to get a fresh code rather than continuing with the old one.

Q: Is it safe to install custom integrations through HACS?

Take a backup before installing HACS and before adding any custom integration — a poorly maintained one can prevent Home Assistant from starting. Before installing anything, check the repository's GitHub star count and the date of its last commit as a quick signal of how actively it's maintained.

Q: What if a HACS integration breaks after updating Home Assistant?

This happens occasionally because custom integrations can lag behind core Home Assistant releases. Check the integration's GitHub repository for a newer release that supports the current Home Assistant version, and update through HACS once it's available.

Conclusion

Installing HACS comes down to one decision made correctly: identify the installation type in Settings > About, then follow the method built for it — the "Get HACS" add-on for HAOS and Supervised, the official script for Container and Core, or the manual Samba/File editor copy as a fallback for either. From there, the GitHub authorization step and a full restart with a hard-refreshed browser are what actually get HACS to appear and stay working.

Most of the friction people run into isn't really about HACS — it's about following a method meant for a different installation type, or missing one of the two restarts along the way. Get those right, and HACS becomes what it's meant to be: a fast, low-maintenance way to pull in the integrations, cards, and themes that never made it into core Home Assistant, without ever needing new hardware to do it.

Share:

Article Topics

#home assistant hacs#home assistant install hacs#home assistant hacs install#home assistant community store

You might also like